vue2 出现绑定不解析的问题 attr= quot;obj quot; 变成了 attr= object object

2017-04-20 03:06:23vue.js问题

在自定义组件中,绑定一个属性

<demo v-bind:attr="obj"></demo>

这个obj比较大,有30多个属性
然后渲染的时候,会出现这个情况:

<demo attr="[object Object]"></demo>

直观的现象就是页面没有被渲染,真尴尬,也没有报错,这个怎么解决

关键是这个问题不是必现的,是偶现

热门评论:

  • Dont Dont 2017-4-20 3:10 回复:

    = =还不是必现,估计就更少人遇到了吧


  • jsoncode jsoncode 2017-4-20 3:14 回复:
    之前我也遇到过,那时候是因为我代码写错了,现在这个代码没错,就是刷新的时候偶现,醉了

网友回答:

  • holdno holdno 2017-4-20 4:15 回复:

    你的obj变量有没有可能是直接接收后台传过来的数据? 接收的时候有没有打印看一下?

    • jsoncode jsoncode 2017-4-20 4:32 回复:holdno
      是后台出传的,不过是一个静态json文件,不会有任何变化

    • holdno holdno 2017-4-20 4:52 回复:holdno

      就是有一种可能,你的json文件导出的时候格式不对,变量接收的时候就是接收的[object Object]

    • jsoncode jsoncode 2017-4-20 5:05 回复:holdno
      嗯,这个可能性是有的,我排查一下


  • 风中孤狼 风中孤狼 2017-4-20 6:06 回复:

    你打印看下你要绑定的数据obj 到底是什么,就明白了

    • jsoncode jsoncode 2017-4-20 6:12 回复:风中孤狼
      就是普通的json

  • drothy drothy 2018-8-20 1:34 回复:

    你好,我也遇到了这个问题,请问你的解决了吗?

    • jsoncode jsoncode 2018-8-21 3:04 回复:drothy
      太久了,当时有没有解决我也不记得了, 不过后来就没遇到过了

    • drothy drothy 2018-12-14 5:25 回复:drothy

      嗯!我的解决了,我的是因为绑定的属性名(arrArr)有大写:v-bind:arrArr="obj",都改成小写就可以了:v-bind:arrarr="obj"。