首先,我检查了一下,但没有发现涉及我的问题的文章。如何在angularJS内置指令中访问预定义的js全局变量?例如,我在 <script>var variable1 = true; </script>然后我写一个AngularJS指令:<div ng-if="variable1">Show some hidden stuff!</div>这实际上是行不通的。然后我得知我应该使用 ng-init所以我在其他地方写了代码:<div ng-init = "angularVariable1 = variable1"></div>而且这显然不能正常工作……这就像一个恶性循环。您需要访问预定义的js全局变量,然后需要使用ng-init;为了使用ng-init,您需要访问全局变量。有什么特别的方法吗?
3 回答
牧羊人nacy
TA贡献1862条经验 获得超7个赞
将全局变量复制到控制器范围内的变量。
function MyCtrl($scope) {
$scope.variable1 = variable1;
}
然后,您可以像尝试一样访问它。但是请注意,更改全局变量时,此变量不会更改。如果需要,可以改用全局对象并“复制”该对象。由于将通过引用“复制”它,因此它将是同一个对象,因此将应用更改(但是请记住,在AngularJS之外进行操作将需要您执行$ scope。$ appway)。
但是,如果您描述自己实际想要实现的目标,也许是值得的。因为使用这样的全局变量几乎从来不是一个好主意,并且可能有更好的方法来达到您的预期结果。
- 3 回答
- 0 关注
- 957 浏览
添加回答
举报
0/150
提交
取消