我对Angular应用程序有点问题。基本上我想在应用程序本身之外操作范围。如果我输入控制台:
$scope = angular.element($('.lead-system')).scope()
我可以将$scope
与$apply
一起使用,一切正常。但是,当我在rails coffeescript文件中使用它时:
angular.element(document).ready ->
console.log angular.element($('.lead-system')).scope()
它会记录undefined
,当然我不能使用$apply
。
这是怎么回事?我按此顺序加载JS文件:
app.js
< - 主角应用初始值设定项
pending.js.coffee
< - 上面列出的文件
lead_controller.js
< - 我正在尝试访问的范围的控制器
答案 0 :(得分:1)
将其包裹在$ timeout中,只是为了检查它是否可以正常工作。这应该告诉你这是否可以通过不同的时间来解决,或者给你进一步探索的想法。
我的建议虽然是在控制器中触发事件(发出/广播甚至是任意外部事物),并响应该事件操纵范围。为方便起见,您甚至可以将范围作为参数传递。