当前第2页 返回上一页
拖放组件使用vuedraggable,拖放完成的时候,鉴于MVVM的特点,画面改变<=>数据改变,操作vuex时注意不能直接修改state
1 2 3 4 5 6 7 8 9 10 | computed: {
myList: {
get() {
return this. $store .state.myList
},
set(value) {
this. $store .commit( 'updateList' , value)
}
}
}
|
整个数据流向: 左栏组件库<-->中间展示栏 <---->右栏属性设置, 控制不好数据的话,可能会出现原始数据被修改的情况。请看:
1 2 3 4 | var a = { k: 1 }
var b = a
b.k = 2
console.log(a)
|
这就会无意间
导致数据被修改,很难排查
。可以使用Object.freeze
冻结对象,避免出错。
Object.freeze
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | function deepFreeze(obj) {
var propNames = Object.getOwnPropertyNames(obj);
propNames.forEach( function (name) {
var prop = obj[name];
if (typeof prop == 'object' && prop !== null)
deepFreeze(prop);
});
return Object.freeze(obj);
}
|
本篇文章到这里就已经全部结束了,更多其他精彩内容可以关注PHP中文网的JavaScript教程视频栏目!
以上就是vue实现可视化可拖放的自定义表单(代码示例)的详细内容,更多文章请关注木庄网络博客!
返回前面的内容
相关阅读 >>
javascript如何判断字符串中是否包含某个字符串
javascript数字怎么转换为字符串
javascript如何实现禁止刷新效果
javascript中show方法怎么用
什么是js深拷贝和浅拷贝及其实现方式
vue.js如何循环数组
vue.js支持哪些浏览器
javascript如何输入数据
vue.js为什么要镜像
详解6个不同级别的组件可重用性概念
更多相关阅读请进入《vue.js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » vue实现可视化可拖放的自定义表单(代码示例)