Angularjs UI路由器没有将解析值注入到同一级别的视图中
我有以下状态配置:Angularjs UI路由器没有将解析值注入到同一级别的视图中,angularjs,state,angular-ui-router,Angularjs,State,Angular Ui Router,我有以下状态配置: $stateProvider .state('customer', { url: '/customers', templateUrl: 'app/components/customer/templates/main.tpl.html', views: { 'list': { templateUrl: 'app/components/customer/templates/list.tpl.html', co
$stateProvider
.state('customer', {
url: '/customers',
templateUrl: 'app/components/customer/templates/main.tpl.html',
views: {
'list': {
templateUrl: 'app/components/customer/templates/list.tpl.html',
controller: 'ListCtrl as ctrl'
}
},
resolve: {
customerList: function ($stateParams, CustomerResource) {
console.log('trying to resolve');
var list = CustomerResource.list($stateParams);
return list;
}
}
})
以下是主要模板:
<div class="container">
<div class="row">
<div ui-view="list" class="col-lg-4"/>
<div ui-view="details" class="col-lg-8"/>
</div>
</div>
有
这里的问题不是解决,而是主模板的注入。这应该是国家的定义:
.state('customer', {
url: '/customers',
//templateUrl: 'app/components/customer/templates/main.tpl.html',
views: {
'': {
templateUrl: 'app/components/customer/templates/main.tpl.html'
},
'list@customer': {
templateUrl: 'app/components/customer/templates/list.tpl.html',
controller: 'ListCtrl as ctrl'
}
},
resolve: {
customerList: function ($stateParams, CustomerResource) {
console.log('trying to resolve');
var list = CustomerResource.list($stateParams);
return list;
}
}
})
因此,有了这些因素:
.controller('ListCtrl', ['$scope', 'customerList', function ($scope, customerList) {
$scope.resolved = customerList
}])
.factory('CustomerResource', function(){
return {
list: function(params){return "Hello world"}
}
})
我们可以看到如下列表视图:
<div>
<h3>list view</h3>
{{resolved}}
</div>
列表视图
{{已解决}}
将显示Hello world
检查一下谢谢。你知道为什么会这样吗?我认为
模板URL
应该属于国家……是的,我知道为什么;)选中此处“视图覆盖状态的模板属性”。。。“如果定义视图对象,则将忽略您所在州的templateUrl、template和templateProvider”希望有帮助;)好了,现在清楚了。我认为它们将被合并,而不是被覆盖。如果有帮助的话,再次感谢;)享受强大的用户界面路由器,先生!
<div>
<h3>list view</h3>
{{resolved}}
</div>