首先,我检查,我没有找到任何文章涵盖我的问题。
如何访问angularJS内置指令中预定义的js全局变量?
例如,我在< script> var variable1 = true中定义此变量; < / script>
然后我写一个AngularJS指令:
< div ng-if =“variable1”>显示一些隐藏的内容!< / div>
这不是真的有效。
然后我被告知,我应该使用ng-init
所以我在别的地方写代码:
< div ng-init =“angularVariable1 = variable1”>< / div>
这显然不奏效…这就像一个恶性循环。你需要访问预定义的js全局变量,那么你需要使用ng-init;为了使用ng-init,您需要访问全局变量。
任何特定的方式来做到这一点?
我创建了一个
working CodePen example演示如何做这个AngularJS的正确方法。 Angular
$window service应该用于访问任何全局对象,因为直接访问窗口会使测试更加困难。
HTML:
<section ng-app="myapp" ng-controller="MainCtrl"> Value of global variable read by AngularJS: {{variable1}} </section>
JavaScript:
// global variable outside angular var variable1 = true; var app = angular.module('myapp',[]); app.controller('MainCtrl',['$scope','$window',function($scope,$window) { $scope.variable1 = $window.variable1; }]);