我有要求這裏看到了一些數據之前執行的路線解決的途徑提供:
$routeProvider.when("/", {
template: '<home message="$resolve.getMessage"></home>',
resolve: {
getMessage: getMessage
}
})
數據,然後傳遞給我的家庭成分是由允許從控制器訪問它綁定,在這裏看到:
.component('home', {
templateUrl: '/app/content/home.component.html',
bindings: {
message: '='
},
controller: 'HomeController'
});
當從消息試圖直接訪問數據時,控制器的負載(這是我的印象是,控制器沒有按」執行它的代碼直到routeProvider中的解析函數解析...)我想出了一個未定義的變量。
function HomeController() {
var vm = this;
console.log(vm.message); //undefined
setTimeout(function() {
console.log(vm.message); //properly defined
}, 1000);
}
超時函數中的代碼正確執行數據。我再次受到這樣的印象:在收到解決承諾的數據之前,Controller代碼才被調用/執行。我覺得我必須用這個邏輯來犯錯誤。
任何人都可以提供有關數據爲什麼延遲到組件控制器的信息,即使使用解決方案嗎?
謝謝!
如果你仍然需要將它注入控制器,那麼綁定點又是什麼? –
您正在使用哪種角度的版本? –