首頁  >  問答  >  主體

angular.js - angular 做拖曳互動的時候到底是用js改變dom好,還是只改變資料好?

網路搜尋推薦不要改變dom,但只改變資料會導致重新渲染,原本開啟的下拉項目就會關閉。交互效果不好。但用js改變dom,資料又會變得很難處理

ringa_leeringa_lee2684 天前647

全部回覆(2)我來回復

  • 高洛峰

    高洛峰2017-05-15 17:08:50

    angular都是盡量避免DOM操作的,像是拖曳這種功能可以修改數據,透過ng-style作用到元素上。好一點的解決方法應該是透過定義指令來實現

    回覆
    0
  • 高洛峰

    高洛峰2017-05-15 17:08:50

    我的建議是:如果是大面積互動操作,例如拖曳一個有上千個子的樹形結構,那麼最好你保存一個臨時數據,然後一次性更新DOM。你如果靠angular的資料綁定,那估計瀏覽器都會掛掉。
    如果你是簡單的幾十個或幾百個,那你可以直接使用ng-xx指令來使用資料方式實現互動邏輯。

    PS:angular做資料同步的時候,你的每個需要資料綁定的地方都會產生一個watch,所以上面說的上千,上百指的是watch數量。

    回覆
    0
  • 取消回覆