猿问

如何在AngularJS指令中访问全局js变量

首先,我检查了一下,但没有发现涉及我的问题的文章。


如何在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,您需要访问全局变量。


有什么特别的方法吗?


摇曳的蔷薇
浏览 958回答 3
3回答

牧羊人nacy

将全局变量复制到控制器范围内的变量。function MyCtrl($scope) {&nbsp; &nbsp;$scope.variable1 = variable1;}然后,您可以像尝试一样访问它。但是请注意,更改全局变量时,此变量不会更改。如果需要,可以改用全局对象并“复制”该对象。由于将通过引用“复制”它,因此它将是同一个对象,因此将应用更改(但是请记住,在AngularJS之外进行操作将需要您执行$ scope。$ appway)。但是,如果您描述自己实际想要实现的目标,也许是值得的。因为使用这样的全局变量几乎从来不是一个好主意,并且可能有更好的方法来达到您的预期结果。
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答