var phoneIdentification = {
'phoneFiled': {
'label': 'Enter Phone',
'regex': '[0-9]{11,12}'
}
};
var mailIdentification = {
'mailField': {
'label': 'Enter Email',
'regex': '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$'
},
'passwordField': {
'label': 'Enter Password'
}
};
我有两个这样的数据。默认我先渲染一个:
$scope.data.dataSource = phoneIdentification;
而不是在视野中:
<div ng-repeat="(key, item) in dataSource">
<label>{{item.label}}</label>
<input type="text" ng-if="item.regex" ng-pattern="{{item.regex}}"/>
</div>
我也有按钮,点击后我更改了dataSource
,我从控制器设置新值:
$scope.data.dataSource = mailIdentification;
视图正在更新,但问题是验证,它不会更新输入的注册表&gt;
如何重新渲染整个视图?
答案 0 :(得分:0)
您在regex
对象的passwordField
字段中缺少mailIdentification
属性。您需要它,因为您在ng-repeat指令中访问它。
您的mailIdentification对象应如下所示:
var mailIdentification = {
...
'passwordField': {
'label': 'Enter Password',
'regex': `some regex here`
}
};