vue中有——ob——属性的对象的值无法获取其其他属性值

图片描述
play方法传进去的对象不能获取到其属性
图片描述
只能打印到这个对象,其值无法打印,也不能获取,这个对象多了个--ob--属性,查了下资料,说是该对象被vue监控
图片描述
打印出来的就是这样,再打印其属性就是undefined

通过什么方法才可以拿到paly方法中参数的属性?
阅读 8.9k
3 个回答

vue为了实现双向绑定把属性都包装成了getter,setter而已
要直接打印的话,直接打印属性就可以的
或者你直接在devtools里点击属性名后面的...就会求当前值,注意点击时的显示的是点击时的当前值,不一定是打印时的值,需要时效性的话直接打印对应属性比较好

或者楼主可以提供下play方法的具体定义?

另外,写了个简单的demo:

<!DOCTYPE html>
<html>
<head>
  <title>Welcome to Vue</title>
  <script src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <ul>
      <li v-for="(item, index) in list" @click="test(item)">{{ item.name }}</li>
    </ul>
  </div>

  <script>
    new Vue({
      el: '#app',
      data: {
        list: [{
          name: 'A',
          sex: 'male'
        }, {
          name: 'B',
          sex: 'female'
        }, {
          name: 'C',
          sex: '???'
        }]
      },
      methods: {
        test(item) {
          console.log(item);
          console.log(item.name);
        }
      }
    })
  </script>
</body>
</html>

点击A,在控制台输出了A的对象及A的name属性:
图片描述

var json = JSON.stringify(JSON.parse(this.list));
console.log(json);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题