我想知道是否有比我正在做的更好的方式?
我需要根据$ scope.title值绑定两个不同的数据模型。因此,在下面的示例中,我为$ scope.title的每个值创建了两个单独的DIV。
我可以在<div>
内进行吗?我也不在这里使用ng-if-else。在这个例子中我如何使用ng-if-else?
<div>
<div ng-if="title == 'Add Student'">
<input type="text" name="name"placeholder="Student Name" data-ng-model="registration.Student.FirstName" maxlength="50">
</div>
<div ng-if="title == 'Edit Student'">
<input type="text" name="name"placeholder="Student Name" data-ng-model="student.Student.FirstName" maxlength="50">
</div>
</div>
答案 0 :(得分:0)
是的,你可以:
<div ng-init="model = (title == 'Add Student' ? registration.Student : student.Student)">
<input type="text" name="name" placeholder="Student Name" data-ng-model="model.FirstName" maxlength="50">
</div>
为了使其更清洁,您应该将ng-init
中的部件移动到您的服务或控制器,因为最好将逻辑从您的视图中移除。如果您发布检索数据的服务或资源,我可以添加一个示例如何执行此操作。
在我看来,更清晰的解决方案是重构您的应用,以便学生模型始终具有相同的参考,以便将registration.Student
到处更改为student.Student
。