Будет ли возникать какая-либо проблема, когда мы поместим более одной `ng-init` на одной странице (комбинация нескольких неполных страниц)
На странице имеется более одного частичного просмотра. Например.
1. index.cshtml is the main page.
2. _student_details.cshtml is partial page.
3. _student_marks.cshtml is partial page.
4. _student_attendance.cshtml is partial page.
Все три partial views
есть свои методы для загрузки списка данных.
Эти методы для загрузки списка данных вызывается на ng-init
так будет ли проблема?
Код ng-init
во всех partial views
выглядит как ниже:
<div id="student-list" ng-controller="StudentController as ctlr"
ng-init="ctrl.GetStudentDetails()" ng-cloak>
1 ответ
Если ваша страница имеет дело только с информацией об ученике и каждая из них использует свою коллекцию, то все будет хорошо. ng-init="ctrl.GetStudentDetails()" Я предполагаю, что получает список сведений об ученике для частичного представления student_details. Если у вас есть GetStudentMarks() и GetStudentAttendance(), и ни один из методов не использует одну и ту же коллекцию, тогда вы можете идти.
Если по какой-то странной причине вы используете GetStudentDetails (), чтобы заполнить коллекцию информацией для деталей, отметок и посещаемости, то это будет выглядеть так:
- ng-init = "ctrl.GetStudentDetails ()" вызывается в элементе div
- ng-init = "ctrl.GetStudentDetails ()" вызывается по меткам div
заменяя результаты для вышеупомянутой коллекции - ng-init = "ctrl.GetStudentDetails ()" вызывается в div посещаемости, заменяя результаты вышеупомянутой коллекции.
Очевидно, вы хотите 3 разных набора результатов. Так что если вы хотите использовать этот странный подход, вам потребуется другой контроллер для получения подробной информации, оценки и посещаемости. Я только говорю, что это странно в этом случае, так как вы имеете дело только с одной обязанностью - студентами, поэтому вы определенно не хотите использовать этот подход, но решили, что я все равно объясню. Если у вас был сайт, на котором вам нужно было перечислить сведения об учениках, а затем запустить некоторые отчеты по учащимся, было бы разумно разделить контроллеры для учеников и отчетов.