【发布时间】:2016-06-08 21:10:13
【问题描述】:
我在angular有以下情况:
- 我在 init() 上将 json 数据从数据库加载到变量“data”,并希望在子控制器(嵌套)中使用变量“data”。
- 由于从数据库加载需要一些时间,子控制器中的变量 $scope.data 输出为“未定义”。
处理这种情况的优雅方法是什么?我是否需要在子控制器内对父级的 init 方法使用承诺?我会很感激一个例子:)。
// 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
感谢您的反馈!
【问题讨论】:
-
根据您的用例,有很多方法可以处理这个问题。您是想在子控制器中转换初始化时的父数据,还是只是想在子模板中显示它?
-
感谢您的回复。事实上,子控制器是 1) 显示数据和 2) 转换它(附加新对象)。
-
我在这里找到了一个关于设计这种数据交换的对话:stackoverflow.com/questions/15012385/…
标签: angularjs angular-promise angular-controller