这篇文章主要介绍了vue中$set怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue中$set怎么使用文章都会有所收获,下面我们一起来看看吧。
代码如下:
<!-- 操作 -->
<el-table-column label="操作">
<template slot-scope="scope">
<span class="poi icon-hover f16 mr20" @click='scope.row.edit=!scope.row.edit'>
<svg-icon :icon-class="scope.row.edit?'icon_edit_outline':'icon_save'"></svg-icon>
</span>
<span class="poi icon-hover f16">
<svg-icon icon-class="icon_delete"></svg-icon>
</span>
</template>
</el-table-column>
<!-- 操作 -->
这里面的click事件一直不执行,一开始以为是点击事件没写对一直在找原因,后面突然想到会不会是数据不同步的原因的,因为edit字段是自己添加进去的字段,如下:
export default {
name: 'strategic',
data() {
return {
tableData: [{
'pp_id': 4,
'brand_name': '1414',
'project_name': '得意',
'description': '的u会回来会',
'publish_time': '2018-07-23',
'is_used': 0
}]
}
},
components: { },
computed: {
},
created() {
this.initTableData()
},
methods: {
initTableData() {
this.tableData.forEach(element => {
element.edit = false
})
}
}
}
之后我直接在数据里面加上edit字段,发现是能够同步数据的,代码如下:
data() {
return {
tableData: [{
'pp_id': 4,
'brand_name': '1414',
'project_name': '1414',
'description': '7588888888',
'publish_time': '2018-07-23',
'is_used': 0,
'edit': false
}]
}
}
原来是在我们使用vue进行开发,当生成vue示例后,再次给数据赋值时,有时候并不能自动更新到数据上去,这时候我们就要通过$set来解决这个问题,解决代码如下:
initTableData() {
this.tableData.forEach(element => {
this.$set(element, 'edit', false)
})
}
关于“vue中$set怎么使用”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“vue中$set怎么使用”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:https://my.oschina.net/u/4279392/blog/4412620