我有这个小型Angular应用程序。我希望范围有someFunc
命名的函数,以便我可以在任何视图中使用它。但是,当我从我的观看中访问它时,它变为null
,而someVar
等变量按预期保存内容。
使用AngularJS Batarang,我可以确认$ rootScope.someFunc确实是null
。
不确定我在这里做错了什么?
app.js.coffee
:
app = angular
.module 'app'
.run ($rootScope) ->
$rootScope.someFunc = -> 'whatever'
.controller 'default', ($scope) ->
$scope.someVar = 'whatever'
app.html
:
<html ng-app='app'>
<head><script src='./app.js'><!-- assuming it's compiled from app.js.coffee --></head>
<body ng-controller='default'>
<p>$scope.someVar = {{someVar}}</p>
<p>$rootScope.someFunc() = {{someFunc()}}
</body>
</html>
提前致谢!
答案 0 :(得分:0)
感谢Blackhole和Andrew。
经过一番挣扎,我发现分配给$rootScope
和$scope
的功能确实存在,并且可以从视图中访问。有两件事让我觉得他们不相信:
null
ng-click="someRootScopeFunc()"
都没有触发该功能,也没有引发任何错误。我觉得后者很奇怪,但可能只是我对AngularJS的理解有限。