我正在尝试使用constant
中的全局变量初始化angularJS
,如下所示:
var app = angular.module('myApp')
.constant('test1', myTest.test1)
.constant('test2', myTest.test2);
问题是有时全局变量myTest
不可用,因为它会引发错误myTest is not defined
。我也试过这个:
.constant('test1', angular.isDefined(myTest)?myTest.test1:'')
.constant('test2', angular.isDefined(myTest)?myTest.test2:'')
但它仍然会引发同样的错误。这有什么锻炼吗?
答案 0 :(得分:2)
angular.isDefined
将无效。
您可能需要使用:
.constant('test1', typeof myTest != "undefined"? myTest.test1 : "");
这是因为ReferenceError。
最好将角度代码包含在设置myTest
属性的文件下面。
如果script.js正在设置myTest对象,那么
window.myTest = {
test1 : "Some value"
}
然后在其下方插入角度应用脚本
var app = angular.module('myApp')
.constant('test1', myTest.test1)
.constant('test2', myTest.test2);
在这种情况下,它将始终定义。
答案 1 :(得分:0)
你可以将你的全局常量放在脚本标记内的html文件中,然后再加载其他任何内容
脚本
var test1 = test1 ||一些价值&#39 ;;
脚本