使用ng-init初始化后访问module.run中的$ rootScope属性

时间:2014-04-24 12:41:17

标签: angularjs

所以我通过以下方式设置了一个rootScope变量:

<body ng-app="App" ng-init="$root.number=10">

然后我想在module.run方法中访问$ rootScope.number但我得到了未定义。我该怎么办?

1 个答案:

答案 0 :(得分:3)

.run()执行时,Angular尚未解析该应用程序 您可以使用 $timeout 在呈现所有内容后立即访问该属性,届时DOM将完全由Angular解析:

<body ng-app="App" ng-init="number=42">

angular.module('App', [])
.run(function ($rootScope, $timeout) {
    $timeout(function () {
        alert($rootScope.number);
    });
});