我有角度的以下情况:
处理这种情况的优雅方法是什么?我是否需要在子控制器内的父进程方法上使用promise?我将很感激一个例子:)。
// Parent Controller
app.controller('pCTRL', function($scope) {
$scope.init = function(id){}
//sets my variable $scope.data successfully via a rest API
//and for test, sets $scope.x to "blabla"
}
//Child Controller
app.controller('cCTRL', function($scope) {
console.log($scope.x); //outputs blabla properly
console.log($scope.data); // undefined
感谢您的反馈!
答案 0 :(得分:1)
常见的解决方案是使用观察者。例如:
app.controller('cCTRL', function($scope) {
$scope.$watch('data', function(newVal){
console.log(newVal); // outputs actual value
});
}
只有在指令中需要逻辑时才需要这样做。如果您只想在data
模板中显示cCTRL
,则不需要上述观察者,当父母更改时,angular会更新模板。