2016-04-28 43 views
1

我已经开始使用Angular并且没有太多的经验。
我遇到了问题。我正在使用ng-showng-model在某些情况下将不同的值绑定到ng模型

它像

<tr ng-show="responseValid"> 
    <td> <input id="nameId" ng-model="model.name"/> </td> 
</tr> 

我在model.name预填充值。

现在,如果响应有效,则输入标记不会显示。

但是当我submit形式,nameId值由ng-model="model.name结合“

问题在这里我想model.name不应包含任何值,如果反应是不是当输入标签隐藏有效即但是它没有发生。

我怎样才能在model.namenullify/empty价值呢?有没有什么可用的,我可以在标签本身使用?

+0

做输入标记中的文本在无效情况下。 – Prasad

回答

1

当你把你的模型,检查validResponse的状态,并设置基于此

例如您的模型数据:

$scope.sendModel = function(){ 
    $scope.model.name = $scope.validResponse? $scope.model.name : ''; 
} 

更高级的例子要清除http://codepen.io/gpincheiraa/pen/mPzmxO

2

您可以使用ngSwitch或ngIf。

<tr ng-if="responseValid"> 
    <td> <input id="nameId" ng-model="model.name"/> </td> 
</tr> 

如果条件不符合,angular会完全移除DOM元素,直到条件满足。

3

你应该使用ng-if而不是ng-show我相信。

ng-if删除DOM中的元素,而ng-show仅设置display:none

相关问题