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

首先,我检查,我没有找到任何文章涵盖我的问题。

如何访问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;
}]);

相关文章

ANGULAR.JS:NG-SELECTANDNG-OPTIONSPS:其实看英文文档比看中...
AngularJS中使用Chart.js制折线图与饼图实例  Chart.js 是...
IE浏览器兼容性后续前言 继续尝试解决IE浏览器兼容性问题,...
Angular实现下拉菜单多选写这篇文章时,引用文章地址如下:h...
在AngularJS应用中集成科大讯飞语音输入功能前言 根据项目...
Angular数据更新不及时问题探讨前言 在修复控制角标正确变...