从负载外部功能访问角度范围

时间:2014-01-15 11:39:39

标签: angularjs coffeescript

我对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< - 我正在尝试访问的范围的控制器

1 个答案:

答案 0 :(得分:1)

将其包裹在$ timeout中,只是为了检查它是否可以正常工作。这应该告诉你这是否可以通过不同的时间来解决,或者给你进一步探索的想法。

我的建议虽然是在控制器中触发事件(发出/广播甚至是任意外部事物),并响应该事件操纵范围。为方便起见,您甚至可以将范围作为参数传递。