2017-09-07 99 views
0

我一直在使用... mapGetters在我的解决方案中成功了很多,但现在我需要直接访问变量数据()部分,似乎访问时的变量没有设置/就绪..VUE:通过计算mapGetters()在数据()部分访问它时未定义的状态变量

的mapGetters是在所计算的:{}部..

当调试我注意到,数据()运行之前计算:,所以..我需要在这里以某种方式放置手表吗?

代码:

data(){ 
     return { 
      FiltersVisible: false, 
      orderList: { 
       currentPage: 1, 
       totalPages: ordersCount/20, 
       // totalPages:80, 
       itemsPerPage: 20 
      } 
     } 
    }, 
    computed: { 
     ...mapGetters(['orders', 'ordersCount']) 
     // ...mapGetters(['orders']) 
    }, 

Vue的状态的屏幕截图(铬)

注意,吸气剂正确初始化....

enter image description here

回答

0

有许多方法来解决这个问题。您可以创建一个Vuex吸气器,为您提供空值或默认值。这至少可以确保没有错误,并且只要您的商店开始投入使用,它就会更新。

您可以创建一个本地计算性能,并用mapGetter获取您的储值这种方式,您也可以提供一个默认值。

您可以将totalPages设置为0,并在商店值发生更改时使用观察器更新值。

这真的取决于上下文。例如,如果您需要对检索值的其他组件使用相同的默认回退,则Vuex getter将会很有帮助。

+0

感谢你的时间来回答@斯蒂芬-V :)。任何机会,你能告诉我(代码),你会做这样的方式?又名..最简单:) –

相关问题