1

我创建了一个像这样使用的指令:

<div car-form car="car" on-submit="createCar(car)"></div>

我在创建的新页面和编辑页面上都使用指令。他们有自己的控制器。在EditCarController我从我创建的 RESTful Web 服务中检索汽车。我还为指令分配了一个控制器功能(在指令的配置对象中),我在其中根据汽车等设置了一些类别......但是!

由于汽车是从页面控制器异步加载的,因此在指令控制器代码开始运行时并不总是(随机)加载。我该如何解决?我需要确保我传递给指令的汽车已装载。

4

1 回答 1

1

您可以$watch在指令的控制器中使用 a 来了解数据何时从服务器返回。像这样的东西:

$scope.$watch("car", function(newVal) {
    if (angular.isDefined(newVal)
    {
         //get stuff based on car (newVal)
    }
});

$watch传入,undefined直到数据从服务器返回,此时您可以对对象执行任何您需要的操作

于 2013-08-26T18:59:06.477 回答