有一个元素的指令链接。 HTML
<div class="row">
<div class="form-group">
<label class="col-sm-5 control-label" for="VehicleOriginalCost">{{questions[$state.current.name].VehicleOriginalCost.QuestionData._text}}</label>
<div class="col-sm-6">
<input type="text" id="VehicleOriginalCost" class="form-control" name="VehicleOriginalCost" ng-model="answers.VehicleOriginalCost" data-que-obj="questions[$state.current.name].VehicleOriginalCost.QuestionData" required text-control-dir cbq-dir number-only>
</div>
</div>
<span class="form-error" ng-show="submitted && DTOstep1.VehicleOriginalCost.$error.required">This field is required.</span>
</div>
指令是textControlDir和cbqDir。
如果有任何默认值,selectControlDir指令会为问题设置值 cbqDir指令应该在selectControlDir之后访问更新的值并执行操作。 但是cbqDir没有更新的值。 当我在url中传递ngModle时,我在cbq目录中得到了未定义。
指令
function textControlDir()
{
return {
transclude: true,
restrict: 'A',
priority: 100,
scope: {
ngModel: '=',
queObj: '='
},
link: function (scope, element, attrs) {
if (angular.isUndefined(scope.ngModel))
{
scope.ngModel = scope.queObj._pageAttributes.defaultValue;
}
}
};
}
function cbqControlDir($http)
{
return {
transclude: true,
restrict: 'A',
priority: 200,
require: ngModel,
link: function (scope, element, attrs) {
//http call
//url apc.php/ngModel
}
};
}
我尝试使用优先级解决这个问题,但没有改变。 请帮我看看如何在其他指令中获取更新的范围值。
如果我删除selectControlDir,它可以正常工作。但我不想删除,寻找解决方案如何在这里刷新/更新范围。
问题仅在负载上没有变化。 onchange它工作正常,因为$ scope中有值。