2014-03-04 32 views
2

我需要將一些變量從後端傳遞到HTML代碼中的Angular前端。理想情況下,我喜歡在$rootScope之內。但是,加載頁面時尚未定義$rootScope。我能做到這一點的唯一方法是:

var myVar = ["aa", "bb"];

然後從$window.myVar

得到它那麼,有沒有辦法等待直到$rootScope由角定義,然後分析價值到它在HTML ?

回答

0

angular.module('yourModule').constant('yourVar', ['aa', 'bb']);

然後就可以在運行階段使用它:

angular.module('yourModule').run(function($rootScope, yourVar) { 
    $rootScope.yourVar = yourVar; 
}); 
+0

但是,當HTML解析正確時,這仍然假定'yourVar'在全局範圍內? –

0

沒錯,嘗試如何定義常量和注射它在你需要它是這樣的

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']); 
}); 
+0

我已經有'VAR對myApp = angular.module( '應用',[]);'在app.js定義。這會工作嗎? –