我很困惑,我尝试在应用程序启动时初始化一些东西,但似乎每次页面更改时都会多次调用.run元素。
var starter = angular.module('starter', ['ionic'])
starter.run(function ($rootScope) {
if ($rootScope.ifVarInitialized != 1) {
alert('This is a run element.');
$rootScope.ifVarInitialized = 1;
}
});
更重要的是,我上面写的是试图压制一些代码的多次执行,但警报也多次弹出,所以$ rootScope值也以某种方式重置了吗?这是正常行为吗?
我尝试使用.config - 相同的结果。
版本: 离子:1.3.1 IONIC CLI:2.1.17 Cordova CLI:6.4.0
答案 0 :(得分:0)
实际上你没有正确关闭你的模块。正确关闭变量 angular.module('starter', ['ionic'])
.run(function($rootScope) {
$ionicPlatform.ready(function() {
alert("run is working");
if ($rootScope.ifVarInitialized != 1) {
alert('This is a run element.');
$rootScope.ifVarInitialized = 1;
}
});
})
或使用。直接运行该代码段。你没有提到为什么你在你的应用程序中使用$ rootScope.ifVarInitialized,因为你没有初始化它,在运行中你不会得到ifVarInitialized值,
{{1}}