最近公司開始使用vue開發(fā),同事在開發(fā)中出現(xiàn)一個奇怪的問題。一個普通的管理系統(tǒng),左邊一個機構樹 tree 右邊一個表格,上方有個搜索輸入框。如下圖所示,tree是使用render進行自定義的。當在用戶名或者郵箱的輸入框中輸入內容的時候,這顆樹的render方法就被觸發(fā)了。

頁面
看似兩者沒有什么關系,一開始也很奇怪,后來看了同事的代碼,發(fā)現(xiàn)同事在render函數(shù)中去調用了表格查詢數(shù)據(jù)的方法,data的屬性值與這顆樹綁定了,因為input與data數(shù)據(jù)的屬性字段進行了v-model,所以當進行輸入的時候等于修改了data里面的值,而這棵樹是監(jiān)聽這個字段的,你字段的改變就執(zhí)行了render函數(shù)。
在網(wǎng)上查了下資料,
關于input的輸入內容觸發(fā)tree的render函數(shù)問題
如果將data里的字段放在了render中使用,而data的字段 的值改變的時候就會觸發(fā)render函數(shù),因為data里的字段與input進行了v-model的雙向綁定,所以input輸入內容等于data的值也改變了,就觸發(fā)了render 。
例如下方這樣的寫法。searchData.name的值改變就會觸發(fā)render。