时间:2021-05-26
最近在开发过程中遇到一个问题。在节点上面写点击事件时,点击事件不执行。代码如下:
<!-- 操作 --> <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) })}至此就解决啦。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
写在前面本文记录笔者在VueSPA项目首屏加载优化过程中遇到的一些坑及优化方案!我们以vue-cli工具为例,使用vue-router搭建SPA应用,UI框架选
当我们给一个比如props中,或者data中被观测的对象添加一个新的属性的时候,不能直接添加,必须使用Vue.set方法Vue.set方法用来新增对象的属性。如
因为Vue对象一旦生成之后,如果只是修改Vue对象中的数据,在页面上是不会自动更新的,得用Vue.set()函数来进行修改,函数格式为Vue.set(data,
表示是第一次使用vue做单应用显目,也是在逐渐的摸索中~更是各种踩坑,各种填坑,打算写博客么?是因为不想写笔记了,嗯嗯就是这么简单进入正题。刚开始做微信分享的这
昨天在用vue开发项目的时候遇到一个坑,在群友的探讨中,成功的解决了这一问题。具体情形如下:使用vue开发,在页面中有一个人数统计组件,人数统计是要动态变化数据