【发布时间】:2015-10-30 19:32:39
【问题描述】:
我对此进行了一段时间的辩论,但我得到了a Plunk 复制它。
我有一个状态“Contact”,它会默认加载。与$state.transitionTo
在那个状态下,我有一些视图,它们都被加载并且一切正常。
如果我单击以将状态默认更改为“Home”或通过“ui-sref”并在“Home”状态/模板中我有ui-sref="contacts”。当我们单击返回将状态设置为联系它时应该可以工作,但现在所有子视图都没有被正确调用。
似乎当 ui-sref 调用状态时,此状态的行为与默认加载时不同。
为什么是 $state.transitionTo('');似乎与 ui-sref 的工作方式不同。
<script>
var myapp = angular.module('myapp', ["ui.router"])
myapp.config(function($stateProvider, $urlRouterProvider){
// For any unmatched url, send to /
$urlRouterProvider.otherwise("/")
$stateProvider
.state('home', {
templateUrl: 'home.html',
controller: function($scope){
}
})
.state('contacts', {
templateUrl: 'contacts.html',
controller: function($scope){
}
})
.state('contacts.list', {
views:{
"":{
template: '<h1>Contact.List Working wi no Data defined.</h1>'
},
"stateSubView":{
template: '<h2>StateSubView Working</h2>'
},
"absolute@":{
template: '<h2>Absolute item</h2>'
}
}
});
});
myapp.controller('MainCtrl', function ($state) {
$state.transitionTo('contacts.list');
})
第二季度: 当我在索引中添加视图时,为什么接触下的绝对标签可以工作,但是当它在 contact.html 文件中时却不工作。绝对引用仅适用于索引,而不是在任何地方调用?
"absolute@":{
template: '<h2>Absolute item</h2>'
}
【问题讨论】:
标签: angularjs angular-ui-router