更改指令模板中的值并注意更改

时间:2015-09-21 09:05:13

标签: javascript angularjs

在我的指令模板中,我dbContext.HasUnsavedChanges我需要在更改ng-disabled时更改它....

这是我的指示:

validationScope

在我的html中,我这样说:

var addComment = {
    link: link,
    restrict: "E",
    replace: true,
    scope:{
        validationScope:'@'
    },
    template: '<button type="submit" ng-disabled="validationScope" class="btn btn-default pull-right">Send</button>'
};

即使<mydirective validation-scope="<%mainComment.mainTxt.$invalid%>"></mydirective> 发生更改,我的代码ng-disabled始终为true的问题......

此外,如果我在指令模板中这样设置:mainComment.mainTxt.$invalid%我可以看到值更改为:true / false ...

2 个答案:

答案 0 :(得分:0)

这样做现在可能会有效:

template:'<button type="submit" ng-disabled="{{validationScope}}" class="btn btn-default pull-right">Send</button>'

答案 1 :(得分:0)

我认为这是Angular bug ......

Probmel <%mainComment.mainTxt.$invalid%>会返回字符串&#39; true&#39; /&#39; false&#39;指示...

我这样解决:

在链接中我添加了:

scope.$watch('validationScope',function()
{
    if(scope.validationScope === 'true')
    {
        scope.validationScope = true;
    }
    else if(scope.validationScope === 'false')
    {
        scope.validationScope = false;
    }
});

我们还需要添加规则:transclude: true,以便我们可以从外部更改范围....