我需要在 HTML 代码中将一些变量从后端传递到 Angular 前端。理想情况下,我喜欢将它放在$rootScope
. 但是,$rootScope
在页面加载时尚未定义。我能做到的唯一方法是:
var myVar = ["aa", "bb"];
然后从$window.myVar
那么有没有办法等到$rootScope
由Angular定义然后在HTML中解析值呢?
我需要在 HTML 代码中将一些变量从后端传递到 Angular 前端。理想情况下,我喜欢将它放在$rootScope
. 但是,$rootScope
在页面加载时尚未定义。我能做到的唯一方法是:
var myVar = ["aa", "bb"];
然后从$window.myVar
那么有没有办法等到$rootScope
由Angular定义然后在HTML中解析值呢?
是的,试试这样的
var myApp = angular.module('App', []);
myApp.run(function($rootScope) {
$rootScope.myVar = ['aa', 'bb'];
});
// we launch Angular manually when DOM is ready
angular.element(document).ready(function() {
angular.bootstrap(document, ['App']);
});
定义一个常量并在需要的地方注入它怎么样?
angular.module('yourModule').constant('yourVar', ['aa', 'bb']);
然后你可以在运行阶段使用它:
angular.module('yourModule').run(function($rootScope, yourVar) {
$rootScope.yourVar = yourVar;
});