为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

摇曳的蔷薇 2019-11-30 10:30:44
首先,我检查了一下,但没有发现涉及我的问题的文章。如何在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)。


但是,如果您描述自己实际想要实现的目标,也许是值得的。因为使用这样的全局变量几乎从来不是一个好主意,并且可能有更好的方法来达到您的预期结果。


查看完整回答
反对 回复 2019-11-30
  • 3 回答
  • 0 关注
  • 949 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信