/ / AngularJs ng-if-else, свързващ два модела данни - javascript, jquery, html, css, angularjs

AngularJs ng-if-else свързване на два модела данни - javascript, jquery, html, css, angularjs

Бих искал да знам дали по-добър начин от това, което правя, е следното?

Трябва да обвържа два различни модела на данни въз основа на стойността на $ scope.title. И така, в следващия пример създадох два отделни DIV за всяка стойност на $ scope.title.

Мога ли да го направя във вътрешността на един <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 за отговор № 1

Да, можеш:

<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.