Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Ngrx angular 2我应该如何设置初始状态?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用角度2和Ngrx.

我有主要组件应用程序,我在NgOnInit函数订阅应用程序标题
我有子组件Home,我也在NgOnInit调度这个标题因为我想在用户访问home组件时更改标题.

问题是我的App组件是Home组件的父组件,它首先被调用,所以在我的订阅中我最终得到了应该包含title的未定义对象.

什么是最好的解决方案?
我可以在构造函数中设置初始标题(首先调用它)
我可以在订阅中获得这样的标题:( store || {}).title
或者是否可以在reducer中设置初始状态?

解决方法

最终,如果值只是在模板中输出,您可以始终使用异步管道:

<h1>{{ (someReducer | asynC)?.title }}</h1>

或者,您可以在reducer本身内设置一些初始状态:

function someReducer (state = {title: 'Home'},action) {
    switch (action.typE) {
        default: 
            return state;
    }
}

最后,您可以在初始化商店时设置初始状态:

StoreModule.provideStore(reducers,initialStatE)

希望这会以某种方式帮助你.

汤姆

大佬总结

以上是大佬教程为你收集整理的Ngrx angular 2我应该如何设置初始状态?全部内容,希望文章能够帮你解决Ngrx angular 2我应该如何设置初始状态?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。