Angular directive&&Vue component

小小的分享,加一下經驗,大神請無視。
directive 也是組件,裏面的scope用來傳遞數據綁定關係,實質其實就是用來進行父子組件之間的通訊。一樣的Vue的component也是同樣的,也是用來組件的,裏面的通信方式用了另外一個名詞 props:實質都是同樣的,這裏我貼代碼你們看一下哦,
Angular directivehtml

jsvue

angular.module('angularapp')
 .directive('dateSelect', function() {
return {
                restrict: 'E',
                templateUrl: 'date-select.html',
                scope: {
                    times: '=',
                    query: '&'
                },

html數組

date-select(times='time',query='query()')

這裏咱們看到了 直接用自定義標籤 在其屬性上面 進行數據傳遞,首先html整個做用域屬於angularapp,因此傳遞時從本做用域到一個小的組件裏去,自定義標籤瀏覽器不識別,Angular 就會查詢自己的directive這個估計是個數組形式的一個空間看看哪一個dierective的名字跟這個匹配 而後執行directive就這樣,咱們的自定義標籤被識別出來了,而後把內容注入到這個標籤裏面。瀏覽器

Vue
jsapp

Vue.component('todo-item', {
  props: ['todo'],
  template: '<li>{{ todo.text }}</li>'
})
var app7 = new Vue({
  el: '#app-7',
  data: {
    groceryList: [
      { text: '蔬菜' },
      { text: '奶酪' },
      { text: '隨便其餘什麼人吃的東西' }
    ]
  }
})

htmldom

<div id="app-7">
  <ol>
    <!-- 如今咱們爲每一個todo-item提供待辦項對象    -->
    <!-- 待辦項對象是變量,即其內容能夠是動態的 -->
    <todo-item v-for="item in groceryList" v-bind:todo="item"></todo-item>
  </ol>
</div>

v-bind:todo="item"這裏綁定了通信 這裏的組件是註冊在全局中,vue根做用域做爲他的掛載點,這樣就至關於他這個組件變得是最開放的公共組件,誰均可以調用這個組件,一樣的這個也是 瀏覽器識別不了這個標籤,因而就遍歷整個vue的這個組件空間,看看誰的名字對 就執行誰 而後呢 咱們就看到了這dom結構以及他背後的通信所帶來的數據了rest