角度重复指令,再次运行

时间:2016-01-26 09:58:43

标签: angularjs

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;

如何重新渲染整个视图?

1 个答案:

答案 0 :(得分:0)

您在regex对象的passwordField字段中缺少mailIdentification属性。您需要它,因为您在ng-repeat指令中访问它。

您的mailIdentification对象应如下所示:

var mailIdentification = {
    ...
    'passwordField': {
        'label': 'Enter Password',
        'regex': `some regex here`
    }
};