VUE雙向資料繫結導致的BUG

2021-10-04 14:16:19 字數 420 閱讀 8001

eg. @selection-change=「handle」 當**選擇項發生變化時會觸發該事件

將該行選中值儲存下來

handle(select) ,

這樣會導致將this.selectlist 賦值給彈窗物件後,彈窗中值改變時**中的值同步改變。

如:

賦值: this.formadd= this.selectlist[0];

這就意味著這三個值 中有乙個改變另外兩個都改變;

== 解決方法:==

handle(select) ,

賦值: this.formadd= json.parse(json.stringify( this.selectlist[0]));

這樣三個值的型別不一致以後,不會因為乙個值的改變而改變

vue雙向資料繫結

話術 vue中v model可以實現雙向繫結,其核心思想通過object.definepropery來對vue的資料進行資料劫持。主要分為四部分 第一部分observer主要是負責對vue資料進行資料劫持,使其資料擁有get和set方法 第二部分指令解析器負責繫結資料和指令,繫結試圖更新方法 第三部...

vue雙向資料繫結

1.資料響應式原理 主要是利用object.defineproterty 來自定義object的getter,setter function observe value,cb function definereactive obj,key,val,cb set newval class vue da...

vue的雙向資料繫結

原理 vue實現雙向資料繫結的原理就是利用了 object.defineproperty 這個方法重新定義了物件獲取屬性值 get 和設定屬性值 set 的操作來實現的。它接收三個引數,要操作的物件,要定義或修改的物件屬性名,屬性描述符。重點就是最後的屬性描述符。屬性描述符是乙個物件,主要有兩種形式...