GVKun编程网logo

在AngularJS中,如何检测用户何时离开模板/页面?(angularjs if判断)

21

如果您对在AngularJS中,如何检测用户何时离开模板/页面?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在AngularJS中,如何检测用户何时离开模板/页面?的详细

如果您对在AngularJS中,如何检测用户何时离开模板/页面?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在AngularJS中,如何检测用户何时离开模板/页面?的详细内容,我们还将为您解答angularjs if判断的相关问题,并且为您提供关于android – 如何检测用户何时打开/关闭gps状态?、Android:如何检测用户何时停止与麦克风通话、AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作的有价值信息。

本文目录一览:

在AngularJS中,如何检测用户何时离开模板/页面?(angularjs if判断)

在AngularJS中,如何检测用户何时离开模板/页面?(angularjs if判断)

我正在使用Javascript命令:setInterval。我喜欢在用户离开页面时停止它。

该代码似乎运行良好:http :
//jsfiddle.net/PQz5k/

它检测用户何时离开页面。当用户单击链接以转到其他HTML页面或URL,或者用户重新加载页面时,它将执行Javascript代码。

但是,当我从一个AngularJS模板转到另一个模板时,它不起作用。例如,如果我在template1.html,我希望当用户离开template1.html转到template2.html时,Javascript代码在Controller1.js中执行某些操作。AngularJS中的以下代码等效于什么?:

$(window).on(''beforeunload'', function() {    return ''Your own message goes here...'';});​

答案1

小编典典

我认为您有两个控制器,每个模板一个,如下所示:

function Controller_1($scope...){    ...}function Controller_2($scope...){    ...}

好吧,当您从一个模板切换到另一个模板时,会触发一个名为$
destroy的事件,您可以在此处进行阅读:http://docs.angularjs.org/api/ng.$ro​​otScope.Scope#$destroy

假设我正在从具有Controller_1的模板切换到具有Controller_2的模板。Controller_1有一个我想停止的间隔。您可以使用以下方法完成此操作:

function Controller_1($scope, $interval...){    var myInterval = $interval(...);    $scope.$on("$destroy", function(){        $interval.cancel(myInterval);    });}

这意味着,当Controller_1的$ scope被销毁时,将调用该事件并清除该间隔。

android – 如何检测用户何时打开/关闭gps状态?

android – 如何检测用户何时打开/关闭gps状态?

我想阻止用户更改我的应用程序中的WiFi,GPS和加载设置.用户在运行我的应用程序时无需打开/关闭WiFi和GPS.(来自通知栏).是否存在用于收听GPS开/关的broadcastReceiver?

解决方法:

好吧,我做了很多挖掘,发现在API 24中不推荐使用addGpsstatusListener(gpsstatusListener).对我来说,这甚至都不起作用!所以,这是另一个替代解决方案.

如果在您的应用中,您想要收听GPS状态更改(我的意思是用户开启/关闭).使用广播肯定是最好的方法.

执行:

/**
 * Following broadcast receiver is to listen the Location button toggle state in Android.
 */
private broadcastReceiver mGpsSwitchStateReceiver = new broadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {

        if (intent.getAction().matches("android.location.PROVIDERS_CHANGED")) {
            // Make an action or refresh an already managed state.
        }
    }
};

不要忘记在Fragment / Activity Lifecycle中有效注册和注销.

registerReceiver(mGpsSwitchStateReceiver, new IntentFilter(LocationManager.PROVIDERS_CHANGED_ACTION));

例如,如果您使用此片段,请在onResume中注册它,并在onDestroy中取消注册.此外,如果您要将用户指向设置以启用位置切换,则在onStop中取消注册将无法运行,因为您的活动将转到onPause并且片段已停止.

那么这个解决方案可能有很多答案,但这个解决方案很容易管理和使用.如果有的话,提出您的解决方案

Android:如何检测用户何时停止与麦克风通话

Android:如何检测用户何时停止与麦克风通话

我有一个 Android应用程序,在应用程序启动时从麦克风开始录制.在我当前的版本中,用户必须按STOP按钮才能停止录制.

如何检测用户已停止说话并使用该按钮触发录音机停止?

与Android中的语音识别功能中实现的类似.用户停止说话然后翻译语音.我见过其他应用程序,比如Talking Tom类型的应用程序.

作为旁注,我还希望显示某种类型的视觉,表明麦​​克风正在接收声音.显示声音级别的东西.

任何帮助赞赏.

解决方法

一种方法是在录制时使用线程,并对记录的字节使用语音功率分析过程,
有一个示例代码供您参考: http://musicg.googlecode.com/files/musicg_android_demo.zip

AngularJS + JQuery:如何使动态内容在angularjs中工作

AngularJS + JQuery:如何使动态内容在angularjs中工作

我正在使用jQuery和AngularJS开发Ajax应用程序。

当我使用jQuery的html功能更新div的内容(包含AngularJS绑定)时,AngularJS绑定不起作用。

以下是我正在尝试执行的代码:

$(document).ready(function() {  $("#refreshButton").click(function() {    $("#dynamicContent").html("<button ng-click=''count = count + 1'' ng-init=''count=0''>Increment</button><span>count: {{count}} </span>")  });});</style><script src="http://docs.angularjs.org/angular-1.0.1.min.js"></script><style>.ng-invalid {  border: 1px solid red;}<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script><div ng-app="">  <div id=''dynamicContent''>    <button ng-click="count = count + 1" ng-init="count=0">        Increment      </button>    <span>count: {{count}} </span>  </div>  <button id=''refreshButton''>    Refresh  </button></div>

我在具有ID的div内包含动态内容#dynamicContent,并且具有一个刷新按钮,当单击刷新时,该按钮将更新该div的内容。如果不刷新内容,增量将按预期工作,但是刷新后,AngularJS绑定将停止工作。

这在AngularJS中可能无效,但是我最初使用jQuery构建了应用程序,后来又开始使用AngularJS,因此无法将所有内容都迁移到AngularJS。非常感谢在AngularJS中实现此功能的任何帮助。

答案1

小编典典

您需要$compile先将HTML字符串插入HTML,然后再将其插入DOM中,以便angular有机会执行绑定。

在您的小提琴中,它看起来像这样。

$("#dynamicContent").html(  $compile(    "<button ng-click=''count = count + 1'' ng-init=''count=0''>Increment</button><span>count: {{count}} </span>"  )(scope));

显然,$compile必须将其注入控制器才能正常工作。

$compile文档中阅读更多内容。

AngularJS JQuery:如何获得动态内容在angularjs中工作

AngularJS JQuery:如何获得动态内容在angularjs中工作

我正在使用一个Ajax应用程序使用jQuery和AngularJS。

当我使用jQuery的html函数更新div的内容(其中包含AngularJS绑定)时,AngularJS绑定不工作。

这是一个JSFiddle版本的我想要做的。

我有一个动态内容在一个div与ID #dynamicContent,我有一个刷新按钮,将更新此div的内容,当刷新点击。增量工作原理如果我不刷新内容,但刷新后,AngularJS绑定停止工作。

这可能不是有效的AngularJS,但我最初用jQuery构建应用程序,并开始使用AngularJS后,所以我不能迁移所有的AngularJS。任何帮助获得这工作在AngularJS非常感谢。

您需要在HTML字符串上调用$ compile,然后将其插入到DOM中,这样angular才有机会执行绑定。

在你的小提琴,它会看起来像这样。

$("#dynamicContent").html(
  $compile(
    "<button ng-click='count = count + 1' ng-init='count=0'>Increment</button><span>count: {{count}} </span>"
  )(scope)
);

显然,$ compile必须注入到你的控制器中才能工作。

阅读更多在$compile documentation。

关于在AngularJS中,如何检测用户何时离开模板/页面?angularjs if判断的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于android – 如何检测用户何时打开/关闭gps状态?、Android:如何检测用户何时停止与麦克风通话、AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作等相关知识的信息别忘了在本站进行查找喔。

本文标签: