如果您对在AngularJS中,如何检测用户何时离开模板/页面?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在AngularJS中,如何检测用户何时离开模板/页面?的详细
如果您对在AngularJS中,如何检测用户何时离开模板/页面?感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于在AngularJS中,如何检测用户何时离开模板/页面?的详细内容,我们还将为您解答angularjs if判断的相关问题,并且为您提供关于android – 如何检测用户何时打开/关闭gps状态?、Android:如何检测用户何时停止与麦克风通话、AngularJS + JQuery:如何使动态内容在angularjs中工作、AngularJS JQuery:如何获得动态内容在angularjs中工作的有价值信息。
本文目录一览:- 在AngularJS中,如何检测用户何时离开模板/页面?(angularjs if判断)
- android – 如何检测用户何时打开/关闭gps状态?
- Android:如何检测用户何时停止与麦克风通话
- AngularJS + JQuery:如何使动态内容在angularjs中工作
- AngularJS JQuery:如何获得动态内容在angularjs中工作
在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.$rootScope.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状态?
我想阻止用户更改我的应用程序中的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中的语音识别功能中实现的类似.用户停止说话然后翻译语音.我见过其他应用程序,比如Talking Tom类型的应用程序.
作为旁注,我还希望显示某种类型的视觉,表明麦克风正在接收声音.显示声音级别的东西.
任何帮助赞赏.
解决方法
有一个示例代码供您参考: http://musicg.googlecode.com/files/musicg_android_demo.zip
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中工作
当我使用jQuery的html函数更新div的内容(其中包含AngularJS绑定)时,AngularJS绑定不工作。
这是一个JSFiddle版本的我想要做的。
我有一个动态内容在一个div与ID #dynamicContent,我有一个刷新按钮,将更新此div的内容,当刷新点击。增量工作原理如果我不刷新内容,但刷新后,AngularJS绑定停止工作。
这可能不是有效的AngularJS,但我最初用jQuery构建应用程序,并开始使用AngularJS后,所以我不能迁移所有的AngularJS。任何帮助获得这工作在AngularJS非常感谢。
在你的小提琴,它会看起来像这样。
$("#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中工作等相关知识的信息别忘了在本站进行查找喔。
本文标签: