Gir*_*mar 6 state angularjs angular-ui-router
'update-approved-product-campaign-ad'这是'product-campaigns.product-campaign-detail'的子状态,当我通过ui-sref调用子状态时父状态视图被调用以及子状态视图不想要.我只想要儿童国家观点.
Chr*_*s T 10
这可以使用视图定位来完成.
假设您在根目录中拥有一个未命名的ui-view.激活子项后,它可以使用目标视图接管父项的未命名视图.子视图可以将自己的内容直接放入父视图中:
var app = angular.module("plunker", ['ui.router'])
app.config(function($stateProvider) {
$stateProvider.state('parent', {
url: "",
template: "<a ui-sref='.child'>Go to child</a><h1>Parent</h1>"
}).state('parent.child', {
url: '/child',
views: {
"@": {
template: "<a ui-sref='^'>Back to parent</a><h1>child</h1>"
}
}
})
})
Run Code Online (Sandbox Code Playgroud)
或者它可以用一个只有嵌套的ui-view的模板替换父视图,而ui-view又是一个目标
var app = angular.module("plunker", ['ui.router'])
app.config(function($stateProvider) {
$stateProvider.state('parent', {
url: "",
template: "<a ui-sref='.child'>Go to child</a><h1>Parent</h1>"
}).state('parent.child', {
url: '/child',
views: {
"@": {
template: "<small>parent ui-view overridden by parent.child</small> <div ui-view='child'/>"
},
"child@parent.child": {
template: "<a ui-sref='^'>Back to parent</a><h1>child</h1>"
}
}
})
})
Run Code Online (Sandbox Code Playgroud)
目标命名视图是"viewname @ statename".命名视图"@"表示将名为空字符串("")的视图定位在(@)根状态("").
http://plnkr.co/edit/iff63xbNWCbK9MEPMb4f?p=preview