vue props中三目运算符为啥不生效

如题,
label显示出来一直是"2测试false"

<FormFilter ref="filter"  :config="config">
  // 使用config配置的组件
</FormFilter>


  data() {
    return {
      drawer: false,
      drawers_s: false,
      titleChange: true, 
      config: [
        {
          type: 'input',
          key: 'subCode',
          slot: 'name',
          props: {
            label: this.titleChange ? '1测试true' : '2测试false',
            disabled: false
          }
        }
          ]
  }
}
this.titleChange = true,

{
   type: 'input',
   key: 'subCode',
   slot: 'name',
   props: {
       label: this.titleChange ? '1测试true' : '2测试false',
       disabled: false
       }
}
阅读 3.4k
2 个回答

vue数据是按照props,methods,data,computed,watch的顺序进行初始化的,所以在props中找不到data中的数据

这种场景第一时间没有想到computed应该是用的非常不熟练了

data负责定义响应式状态,并没说他能自动更新。你要知道初始化组件的时候data函数调用,titleChange还没有响应化呢,这个时候计算出一个config值,怎么会自动更新呢。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题