每当调用子状态时,将再次加载父状态内的指令(第二次)。是否可以在调用子状态时阻止加载指令?
用例:
module.config(function($stateProvider) {
$stateProvider
.state('parent', {
url: 'parent',
templateUrl: 'parent.html',
controller: "ParentController"
})
.state('parent.child',{
url:'/child',
templateUrl: 'child.html',
controller: "ChildController"
})
});
module.directive('myDirective', function() {
return {
link: function() {
console.log('directive is called');
}
}
})
//parent.html
<div ui-view>
<my-directive></my-directive>
</div>
<button type="button" ui-sref="parent.child">Switch</button>
当您点击该按钮时, myDirective 会再次执行,而 ui-view div将替换为 child.html 。