我读过一些关于在更改和输入类型时使用ng-switch或指令的帖子。 我现在有了这段代码,但它非常重复。
<input ng-change="change();" ng-if="! item.data && item.mapping == 'password'"
type="password" class="login-input" id="{{item.mapping}}"
ng-model="item.content" placeholder="{{item.name | mandatory:this.item.minLength }}"
ng-minlength="{{item.minLength}}">
<input ng-change="change();" ng-if="! item.data && item.mapping != 'password'"
type="text" class="login-input" id="{{item.mapping}}" ng-model="item.content"
placeholder="{{item.name | mandatory:this.item.minLength }}"
ng-minlength="{{item.minLength}}">
我只想改变类型。如何用角度减少干燥?更改类型时如何使用指令?
答案 0 :(得分:1)
如果您输入的属性相似,则可以在此输入字段
之外创建模板<script id="others" type="ng/template">
<input ng-change="change();" class="login-input" id="{{item.mapping}}" ng-model="item.content"
placeholder="{{item.name | mandatory:this.item.minLength }}"
ng-minlength="{{item.minLength}}">
</script>
<script id="password" type="ng/template">
<input ng-change="change();" class="login-input" id="{{item.mapping}}" ng-model="item.content"
placeholder="{{item.name | mandatory:this.item.minLength }}"
ng-minlength="{{item.minLength}}">
</script>
然后使用ng-include
将输入控件添加到您想要的位置
<ng-include src="item.mapping == 'password'?item.mapping:'others'"></ng-include>
您可以使用ng-init
将数据传递到模板以使其可重复使用。
还记得ng-include创建了一个新范围。