gpt4 book ai didi

javascript - angular-ui-router 更改 $state.go() 上的数据对象

转载 作者:行者123 更新时间:2023-11-28 06:39:58 25 4
gpt4 key购买 nike

如何制作state ui provider数据对象

  .state('app', {
controller: 'Ctrl',
templateUrl: 'app/widgets/views/widget.html',
data: {
data: 'property'
}

})

我试过这样做,但它不起作用。

  .state('app.list', {
params: {
dataAssign: null,
},
controller: 'OtherCtrl',
templateUrl: 'app/widgets/views/list.html',
data: {
data: this.params.dataAssign
}

})

基本上我需要从 $state.go() 函数分配数据。而且好像也没有办法。它需要是数据对象,因为我使用的是 angular-ui-router-styles 插件,它使用数据对象来获取样式表的路径。

有办法吗?

最佳答案

我不确定这是否有效,但您可以尝试以下操作:

使用State Change Events拦截状态转换

$rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState) {
toState.data.data = toParams.dataAssign;
});

然后你会像这样调用 $state.go():

$state.go('app.list', {dataAssign: someData});

从逻辑上讲,它似乎应该起作用,但如果不起作用,请告诉我。

更新:

请注意,所有状态转换都会发生这种情况。因此,如果您不希望出现这种情况,则可以使用 toState.name 检查状态名称。

关于javascript - angular-ui-router 更改 $state.go() 上的数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34355951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com