当前第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 构造函数和 "new" 操作符详解
javascript怎么将值转换为int类型
js怎么通过类来修改css样式
vue的响应式原理是什么?
介绍我们是如何搭建互动应用
vue组件修改根实例的数据方法(附代码)
javascript中date对象的方法有哪些
如何理解javascript是动态语言
javascript怎么类型转换
javascript怎么禁止缓存
更多相关阅读请进入《vue.js》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » vue实现可视化可拖放的自定义表单(代码示例)