三大前端框架,有哪一個框架組件間交互像js的方法傳值同樣簡單?


  首先框架組件通訊是爲了方便組件模塊之間進行數據交互的,由於框架的開發本就是組件化,模塊化開發,講一個完整的項目分割成不一樣的組件,view組件,功能組件等等,而後造成一個具備完整功能交互的page,前端三大主流框架無異於vue,react,angular,vue版本分爲1.0以及2.0,目前3.0版本正在開發中,react的開發版本無異於15以及16,angular的版本相對來講就比較多,angularjs也就是1,angular二、四、五、六、8等,除了angular1不是組件化開發外,其他均是組件化開發,在不一樣版本中,組件通信傳值亦是不同的。前端

43352c5552aa4d1d82c53ca3aa5ee9b8.jpeg

  在vue中,組件通信分爲嵌套組件,父組件-子組件,子組件-父組件,以及兄弟組件通訊,還有多組件集中數據共享。最爲常見的這幾種傳值中,父組件-子組件依賴於綁定屬性以及props屬性,子組件-父組件依賴於綁定事件,$emit以及回調函數,若是想要直接得到當前父組件以及子組件能夠藉助ref屬性,以及$parent來直接拿到父子對象,進行數據獲取。兄弟組件則徹底依賴於$emit,$on兩個語法進行數據傳值。vue

  若是組件過多共享數據的狀況下,便要使用vuex來進行集中管理。Vue中的通信相對於js的通信來講遵循了本身內部的語言規範。對於react框架來講,徹底是class對象的開發,繼承react聲明組件語法對象、不管父子仍是子父通信,都徹底依賴於組件對象上進行prop屬性的綁定,進行state數據傳遞,由於在react中數據傳遞的載體就是prop以及state,因此組件通信更加依賴於這兩個對象。react

  對於多組件的數據集中管理,可使用redux,flux等工具,流程化管理集中數據,更加方便組件數據的共享。對於angular來講1版本中基本不提供組件化開發,全部數據交互均經過scope對象橋接,在2版本之後,angular引入組件化開發,其父子組件通信也徹底依賴於angular提供的豐富的核心庫,藉助裝飾器input、output,eventemitter中emit方法以及屬性式指令配合來完成父子以及子父通信。angularjs

  總而言之,框架是基於js開發的,造成了本身內部的一種聲明規範,組件傳值也依賴於本身內部api規範來執行。都是對於js作了二次的封裝或者抽象。瞭解框架的api核心語言,組件傳值仍是比較容易實現的。vuex

相關文章
相關標籤/搜索