【问题标题】:validation with angular checkbox-model使用角度复选框模型进行验证
【发布时间】:2017-04-03 03:12:15
【问题描述】:

我在我的角度/电子应用程序中使用清单模型,并具有以下三个复选框。

  1. 两者

  2. 美国

  3. 加拿大

首先,默认情况下会选中“USA”,但是如果用户点击“Both”或“Canada”,我需要检查特定标志,如果标志为假,我需要提醒用户并避免点击“Both”或“Canada”。 p>

<div style="height:115px;background-color:#FBF9EC" class="form-control" >
            <label ng-repeat="item in locations" style="width:80%">
                    <input type="checkbox" checklist-model="locationData.item" checklist-value="item" checklist-before-change="checkListvalidate(item)" ng-change="checkBoxClickFunc(item)" ng-click="locationClick()"> 
                    {{item}} 
            </label>
        </div>

In the controller:
$scope.locationClick = function(){
     if(!myFlag){
          return false;
     }
};

checklist-before-change 的规范说

每次在清单模型更改之前评估的角度表达式。如果它评估为“假”,则模型将不再更改。

我做错了什么......

【问题讨论】:

    标签: javascript angularjs electron


    【解决方案1】:

    您在复选框输入中有许多侦听器:

    • checklist-before-change="checkListvalidate(item)"
    • ng-change="checkBoxClickFunc(item)"
    • ng-click="locationClick()"

    我认为这些内容无法满足您的需求,此外,它会使对逻辑的理解复杂化,并且可能会产生副作用。
    为什么不只使用checklist-before-change 指令并在其中调用locationClick()
    我觉得应该够了。

    这里是一个例子:

     <body ng-controller="MainCtrl">
        <div style="height:115px;background-color:#FBF9EC" class="form-control" >
                <label ng-repeat="item in locations" style="width:80%">
                        <input type="checkbox" checklist-model="locationData.item" 
                               checklist-value="item" checklist-before-change="checkListvalidate(item)" > 
                        {{item}} 
                </label>
            </div>
      </body>
    

    【讨论】:

      猜你喜欢
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多