我有以下 jsfiddle 示例(检查控制台),您将看到的是 [object Object]
而不是 person
数据:
所以,基本上我有一个 vuejs 实例和一个 div v-for
来迭代一个对象
<div id='app'>
<p v-for="person in people[0]">
<span> {{ person.name }}</span>
<i class="fa fa-check"
v-bind:data-identity="person"
@click="addDetail($event)"></i>
</p>
</div>
问题是,如果我回 {{ person }}
我可以在页面上看到一个 JSON 数据,但是如果我尝试在函数中获取它 addDetail()
与 e.target.dataset.identity
我得到的只是 [object Object]
而不是 json 数据。我试过 JSON.parse
和 String
方法,但没有一个有效。
原文由 hidar 发布,翻译遵循 CC BY-SA 4.0 许可协议
v-bind:data-identity="person"
将 person 转换为字符串,因此你不能将对象附加到数据集,因为任何 object.toString() 方法返回[Object object]
你得到的是相同的尝试附加任何字符串,例如 person.name 并查看它是否反映在您的数据集中
https://jsfiddle.net/qthg4Lwm/
希望这会有所帮助:)
编辑:所有数据属性都是
string
阅读这篇 文章从上面的文章