我有一个这样定义的指令
rrApp.directive('rating', function () {
return {
restrict: 'E',
replace: true,
transclude: true,
template:
'<input class="rating rating-loading" data-min="0" data-max="5" data-step="1" data-size="sm" disabled data-showcaption="false">',
scope:
{
review: '='
},
controller: function ($scope, $timeout) {
},
link: function(scope, elm, attr) {
$(elm).val(scope.review.rating);
$(elm).rating();
}
}
});
这是我的标记
<rating review="restaurant"></rating>
我的伪指令甚至在填充restaurant
范围变量之前就生成了,该变量是从数据库中填充的,因此我的伪指令发现此scope.review
未定义。
只是为了测试何时静态设置模型的值,它可以正常工作。
$scope.restaurant = { rating: 4 };
有没有办法让我的指令等待加载,直到填充$scope.restaurant
?
我也尝试在指令ng-if='restaurant!=null'
中使用这种条件,但这也行不通