更新指令范围并使其可用于角度js中的下一个指令

时间:2016-09-08 11:22:01

标签: javascript jquery angularjs angularjs-directive angularjs-scope

plunker for code

有一个元素的指令链接。 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中有值。

0 个答案:

没有答案