一次寫程式碼引發的vue資料驅動思考
本文只是前端小白在一次寫程式碼時突然的思考,不太嚴謹哈哈
今天在用vue+node+socket.io寫一個線上多人聊天網頁的程式碼時,遇到一個小問題,那就是基於以前用jq來寫前端程式碼時事件驅動的限制,導致今天下午用vue寫程式碼遇到的問題。
以前的事件驅動方式來操作檢視的基本步驟:
- 獲取dom物件
- 獲取資料(如常見的ajax)
- 用新的資料來"修改"dom物件,或者用新的資料來新增新的dom物件
- 更新dom
今天用這種方式來寫vue時就發現自己新新增的dom物件沒有被vue渲染例如:
var addHTML = '<p>{{newData}}</p>';
document.getElementById("id").innerHTML += addHTML;
此時如果你看瀏覽器頁面就會發現vue並沒有把dom渲染成vue的“虛擬”的dom元素而是<p>{{newData}}</p>
這樣的真實dom元素。網上也沒找到什麼好的解決方式,但是突然想想既然選擇了使用vue就應該使用vue的資料驅動模式來發開而不應該拘泥與以往的事件驅動模式開發。
例如上面所說的例子就應該用一個vue的data屬性來繫結後臺獲取的資料來渲染到vue的“虛擬”dom元素。
this.data = newData; //newData從後臺獲取
把精力放在資料的操作上,當修改資料時vue已經幫你完成了資料的更新,而不是自己寫事件去獲取dom元素來更新。
相關文章
- Vue原始碼分析之資料驅動Vue原始碼
- 一次Toast元件引發的思考AST元件
- Vue3資料驅動原始碼解讀Vue原始碼
- 一段奇葩Javascript程式碼引發的思考JavaScript
- 一次快速排序錯誤引發的思考排序
- 測試驅動開發(TDD)的思考
- 一次composer錯誤使用引發的思考
- 從一次react非同步setState引發的思考React非同步
- 一次線上問題排查所引發的思考
- 一次聊天引發的思考--java併發包實戰Java
- Linux驅動開發筆記(一):helloworld驅動原始碼編寫、makefile編寫以及驅動編譯Linux筆記原始碼編譯
- Hive資料匯入HBase引起資料膨脹引發的思考Hive
- pytest的資料驅動和引數傳遞
- Vue核心思想:資料驅動、元件化Vue元件化
- 一個 Vue 地圖元件錯誤引發的思考Vue地圖元件
- 從Vue陣列響應化所引發的思考Vue陣列
- 一次筆試引發的關於setTimeout的this的思考筆試
- 賣掉程式碼的副產品——個人簡歷引發的思考
- 一次定時任務配置錯誤引發的思考
- vue資料入口initSate開始分析資料驅動更新原理Vue
- 編寫高質量程式碼的思考
- for...in引發的思考
- usb驅動程式初步編寫
- 一次線上Redis類轉換異常排查引發的思考Redis
- 由“自動播放”事件引發的幾點思考事件
- 手撕Vue-資料驅動介面改變下Vue
- Linux驅動實踐:如何編寫【 GPIO 】裝置的驅動程式?Linux
- 電梯引發的思考
- order by limit 引發的思考MIT
- 一段關於JS中this應用奇葩程式碼引發的思考JS
- 驅動開發常見縮寫
- jdbc的資料庫驅動類DriverManager.getConnection()引數JDBC資料庫
- 一次打包引發的思考,原來maven還能這麼玩?Maven
- 實時開發驅動下的資料智慧化
- 幾種連線資料庫的OLEDB驅動程式資料庫
- Github Copilot機器人寫的程式碼引發糾紛Github機器人
- 鴻蒙資料驅動鴻蒙
- 驅動開發之基本資料結構資料結構