AngularJS ng类,表单脏时的条件

Photovor

在我的主要html中(让我们说它使用ng-controller =“ controller1”),我想在div-上放置一个条件类,当ng-controller =“ controller2”下的表单变脏时,它会更改其背景颜色。

有没有办法将其作为条件语句放在ng-class中?

将有多种形式和多个相关的div需要协调,因此我只是想出一种最简单的方法。

编辑-我当前设置的示例代码:

HTML:

<html ng-app="testapp">
<body ng-controller="ControllerA">
    <p ng-class="{'updates-made' : boolUpdatesMade}">
        My background will change whenever an update is made on the form
    </p>

    <form name="editForm" ng-controller="ControllerB">
        <input type="text" name="changeme">
        <button ng-click="save()">Save</button>
    </form>
</body>
</html>

Controller.js:

testapp.controller("ControllerB", function($scope){
    $scope.save = function(){
        if($scope.editForm.$dirty){
            $scope.boolUpdatesMade = true;
        }

    }
}

我希望发生的是,当我在ControllerB中设置boolUpdatesMade = true时,CSS类“ updates-made”将应用于

在HTML中。事实并非如此。

这是此示例的JSFiddle链接:http : //jsfiddle.net/tPGLT/1/

AlwaysALearner

如果不使用$ watch,则父控制器无法告知子控制器内部的模型何时更改。

(在这种情况下,要监视的模型不是太大。但是,值得注意的是文档读取的内容:“为保存对象的值以供以后比较,使用了angular.copy函数。这也意味着监视复杂的选项将对内存和性能产生不利影响。 ”)

有一种更简单的方法可以在不使用$ watch的情况下执行所需操作:

testapp.controller("ControllerA", function($scope){     
    $scope.boolUpdatesMade = false;

    $scope.updateForm = function(){
        $scope.boolUpdatesMade = true;
    }
}

testapp.controller("ControllerB", function($scope){
    $scope.save = function(){       
        if($scope.editForm.$dirty){
            // dont update the parent's model inside the child
            // instead have the parent's method do that
            $scope.updateForm();
        }
    }
}

希望这可以帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJS:ng类和表单验证

来自分类Dev

AngularJS:ng类和表单验证

来自分类Dev

AngularJS | 使用ng-class的条件类

来自分类Dev

AngularJS ng类

来自分类Dev

在AngularJS中输入ng-change时如何提交表单

来自分类Dev

使用ng-model angularjs时不显示表单值

来自分类Dev

使用OR运算符的AngularJS ng类多个条件

来自分类Dev

AngularJS中具有条件的Ng类

来自分类Dev

AngularJS脏检查性能

来自分类Dev

表单验证AngularJs的条件样式

来自分类Dev

AngularJS表单验证中的类

来自分类Dev

AngularJS-Ng类选择错误的类

来自分类Dev

AngularJS脏记号和空白

来自分类Dev

AngularJS脏记号和空白

来自分类Dev

angularjs:ng-repeat中的表单验证

来自分类Dev

如果angularjs中的angularjs条件

来自分类Dev

AngularJs条件类和常规类

来自分类Dev

AngularJs条件类和常规类

来自分类Dev

在AngularJS中按表行获取所有脏表单字段

来自分类Dev

AngularJS:在texfield中更改ng-model时,设置单个表单字段的样式

来自分类Dev

AngularJS:提交时ng-model-options绑定表单值不适用于多个选择

来自分类Dev

AngularJS:条件ng类,其中一个选项具有多个匹配项。

来自分类Dev

ng-options的AngularJs条件显示

来自分类Dev

更改angularJS中ng-focus的类

来自分类Dev

手动将字段设置为脏不会修改CSS类angularJS吗?

来自分类Dev

AngularJS表单拒绝提交时进行验证

来自分类Dev

AngularJS表单未在提交时清除

来自分类Dev

表单提交时的angularJS更新表模型

来自分类Dev

表单提交时的angularJS更新表模型