这有效:
function DetailsCtrl($scope, Plan){
$scope.entities = Plan.query();
}
这不会:
function DetailsCtrl($scope){
var injector = angular.injector(['myApp.services']);
var name = 'Plan';
var Entity = injector.get(name);
$scope.entities = Entity.query();
}
在第二种情况下,不会引发错误,并且 console.log($scope.entities) 会转储加载的实体。但是变量没有在模板中呈现。我猜在用变量填充 $scope 之前正在加载模板。如果是这样,我如何确保 $scope 及时加载了变量?