Я создаю каталог, используя маршруты AngularJS, и у меня возникла проблема. В настоящее время у меня есть несколько отделов в моем каталоге, все из которых имеют свои собственные HTML-шаблоны, и все используют один и тот же контроллер. Файлы шаблонов, однако, все одинаковы, единственная разница здесь.AngularJS Маршруты: потеря содержимого при обновлении
<div id="content" data-ng-init="contentCtrl('MG')">
<div class="deptName">
<h2>Management</h2>
</div>
//rest of content goes here
</div>
Так что мне пришло в голову, что я мог бы просто использовать один файл шаблона и передать в соответствующий файл JSON для каждого отдела, как это.
<div id="content" data-ng-init="contentCtrl(activeDepartment)">
<div class="deptName">
<h2>activeDepartment</h2>
</div>
//rest of content goes here
</div>
До сих пор это решение "работает". Однако, когда я обновляю страницу, она пуста. Кажется, я знаю, ПОЧЕМУ это происходит, но я не знаю, как это исправить. Я думаю, что это происходит, потому что когда я обновляю страницу, переменная activeDepartment никогда не была установлена (она устанавливается, когда вы нажимаете на отдел на главной странице). Единственный способ, которым я могу думать, чтобы исправить это, есть ли какой-нибудь способ, чтобы объявить переменную в моем поставщика маршрута вдоль линий
$routeProvider
.when('/MG', {
controller: 'teammateController',
templateUrl: './assets/departments/department.html',
activeDepartment = management
})
Но я не могу найти способ сделать это, я иду об этом неправильно? Любая помощь будет принята с благодарностью.
Я не вижу, как ваш существующий код работает даже один раз. Параметр разрешения должен выглядеть как 'resolve: function() {return 'management'}'. –
@ Ами вы имеете в виду окончательный фрагмент кода? Поскольку я знаю, что это неверно, я просто подразумевал это как пример того, что я пытаюсь сделать, я не знаком с решением: вы говорите, что он может быть структурирован так: .when ('/ MG', { контроллер: 'teammateController', templateUrl: './assets/departments/department.html', resolve: function() {return 'management'} }) 'Извините за двусмысленность, я должен был указать, что это не было" рабочий "код –
Да, он должен быть структурирован таким образом. Вы сказали, что теряете контент при обновлении, что для меня должно означать, что он работал, прежде чем вы нажмете кнопку обновления. Я не понимаю, почему то, что у вас было, будет работать, если вы сделали или не нажали кнопку обновления. –