我的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></description>
,另一个使用templateUrl的内容作为description指令(复制的1on1),当不使用指令但是templateUrl文件的内容发生了重载dosnt。
一切都很好但是当我去所有的&#39;路由ProjectController重新加载。 该指令如下所示:&#34;
<table>
<tr >
<td><b>name</b> </td>
<td>{{project.name}}</td>
</tr>
<tr >
<td><b>owner</b> </td>
<td>{{project.owner}}</td>
</tr>
<table>
指令以ng-repeat(全部&#39;状态)添加:
<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>
另一个&#39;我的&#39;使用指令的内容和dosnt重新加载控制器。 什么时候去&#39;所有&#39;来自&#39; mine&#39;当我从“我的地方”开始重新加载。到所有&#39;控制器没有重新加载
如何保持原样,但避免重新加载控制器?
答案 0 :(得分:0)
您必须像函数调用一样链接到路径:
<a ui-sref=".list()" class="btn btn-primary">List</a>
<a ui-sref=".paragraph()" class="btn btn-danger">Paragraph</a>
答案 1 :(得分:0)
删除
controller:ProjectController
使用控制器修复它:&#39; controllerName&#39;导致为每个创建的指令创建一个控制器。