将用户指令插入表单。$ valid

时间:2017-12-14 23:24:42

标签: angularjs angularjs-directive

我有一个简单的指令:

myDirective.html:

<div class="my-directive" ng-class="{'on':status,'off':!status}" ng-click="onClick()">
    click me
</div>

myDirective.js:

app.directive('myDirective', function () {
    return {
        restrict: 'E',
        templateUrl: 'myDirective.html',
        controller: ['$scope', function ($scope) {
            $scope.onClick = function () {
                $scope.status = !$scope.status;
            }
        }]
    }
});

我有一个ng-form,我使用此指令作为表单的字段:

<ng-form name="frm">
    <div class="form-field">
        <input type="text" required ng-model="v1" />
    </div>
    <div class="form-field">
        <my-directive status="v2" />
    </div>
    <input type="button" ng-disabled="!frm.$valid" value="save" />
</ng-form>

现场示例:JsFiddle

当我在输入frm.$valid中设置一些文字时,会自动转向true。 我想申请my-directive同样的效果。让我们说......

  

仅当my-directive为真时才将status视为有效。

如果my-directive无效,表单也应无效。

我可以在my-directive中设置此效果吗?我怎么能这样做?

0 个答案:

没有答案