如何禁用角度UI-router
中的子状态继承其父状态数据?
例如,我有一个父和子状态如下:
$stateProvider.state('parent', {
data:{
customData1: "Hello",
}
})
.state('parent.child', {
data:{
}
});
此处,子状态(parent.child
)继承其父级的数据(customData1
)。
如何禁用继承父数据?
答案 0 :(得分:0)
虽然我不确定你为什么要那样做...你可以隐藏父实现:
子状态将从父状态继承数据属性,它们可以覆盖它们。
$stateProvider.state('parent', {
data:{
customData1: "Hello",
customData2: "World!"
}
})
.state('parent.child', {
data:{
// customData1 inherited from 'parent'
// but we'll overwrite customData2
customData2: "UI-Router!"
}
});
$rootScope.$on('$stateChangeStart', function(event, toState){
var greeting = toState.data.customData1 + " " + toState.data.customData2;
console.log(greeting);
// Would print "Hello World!" when 'parent' is activated
// Would print "Hello UI-Router!" when 'parent.child' is activated
})