Моего UI маршрута имеет состояние, как:углового контроллера перезагружается при использовании директивы
.state('projects', {
abstract: true,
url: "/?username&token",
templateUrl: "projects/views/Projects.html",
controller: 'ProjectController'
})
.state('projects.mine', {
url: "mine",
templateUrl: 'projects/views/ProjectsMine.html'
})
.state('projects.all', {
url: "all",
templateUrl: 'projects/views/ProjectsAll.html'
})
Я сделал директиву:
app.directive('description', function(){
return{
restrict: 'E',
templateUrl : 'projects/views/directives/ProjectDescription.html',
controller:ProjectController
}
});
Я сделал два файл точно таким же для государственных templateUrls, где только разница в том, что шаблон всех использует директиву описания, например:
<description></description>
и другие один использует содержимое templateUrl для директивы описания (скопировано 1on1), когда не используется директива, но содержимое файла templateUrl перезагружает dosnt.
Все работает нормально, но когда я иду на «все» маршрут, ProjectController перезагружается. Директива выглядит следующим образом:»
<table>
<tr >
<td><b>name</b> </td>
<td>{{project.name}}</td>
</tr>
<tr >
<td><b>owner</b> </td>
<td>{{project.owner}}</td>
</tr>
<table>
директива добавляется в нг-повтора (в 'всех' состоянии):
<div ng-repeat="project in project|filter:searchText">
<description></description>
</div>
Ссылки состояний в моем HTML:
<a ui-sref=".mine()"><button>my projects</button></a>
<a ui-sref=".all()"><button>all projects</button></a>
<div ui-view></div>
другой «мой» использует содержимое директивы и dosnt перезагружает контроллер. Когда вы идете на «все» из «моих», перезагрузка происходит, когда я перехожу от «моего» к «все», r не перезагружается
Как я могу хранить все, как есть, но избегать перезагрузки контроллера?
Контроллеры и директивы не являются постоянными. Если вам нужны постоянные данные, используйте услугу – lightswitch05
@ lightswitch05 Я использую службу для получения данных. в контроллере, поэтому я использую вложенные состояния проекта для переключения между таблицами. https://angular-ui.github.io/ui-router/#nested-states--views –
Вижу, я неправильно понял вашу цель. Вы хотите, чтобы 'projects.mine' наследовал от' projects.all' и применял дополнительный фильтр к списку. Не знаете, как это сделать с помощью UI-Router. Но это определенно вопрос UI-Router. Возможно, вы захотите изменить заголовок и вопрос, чтобы уточнить, что это не простой вопрос с контроллером и директивой. – lightswitch05