您可以使用手动初始化来推迟angular应用的初始化,而不是使用ng-app
attribute 进行自动初始化。
// define some service that has `$window` injected and read your data from it
angular.service('myService', ['$window', ($window) =>({
getData() {
return $window.myData;
}
}))
const callService = (cb) => {
$.ajax(...).success((data)=>{
window.myData = data;
cb(data)
})
}
// init angular app
angular.element(document).ready(function() {
callService(function (data) {
doSomething(data);
angular.bootstrap(document);
});
});
callService
您的函数执行AJAX调用并接受成功回调的位置在哪里,这将初始化angular app。
还要检查ngCloak
指令,因为它可能满足您的所有需求。