Vue是一個前端JavaScript框架,可以用于構建Web應用程序。Vue把Web頁面分解成了多個Component組件,每個組件存在獨立的HTML、CSS和JavaScript結構。Vue Component可以重用,可以作為局部Component嵌套Deployment。
Vue Component具有良好的可組合性和可重用性,因為每個Component都像單獨的條塊組件一樣工作。Vue Component具有以下優點:
Vue.component('my-component', { template: 'A custom component!' })
建立Vue Component需要使用Vue.component()方法,參數是兩個字符串,一個是Component的名稱,另一個是一個對象,包括其屬性和方法。其中,必須的template屬性是一個字符串,指定Component模板的HTML。
Vue Component可以提供數據props屬性,它允許父Component向子Component傳遞數據。下面是一個例子:
Vue.component('child-component', { props: ['name'], template: '{{ name }}
' }) Vue.component('parent-component', { template: '', data: function () { return { name: 'Jack' } } })
在上面的代碼中,Child Component是一個簡單的段落,可以顯示其名字props。Parent Component再次引用一個子ComponentChild Component,他在其template中使用一個特殊的語法:name="",這是子Component的props屬性。在父Component中,我們可以通過data屬性來定義子Component中props的值。
另外,Vue Component也可以使用slot分發內容,分發通常稱為“提供”一個新的視圖。下面是一個例子:
Vue.component('my-component', { template: '' })
在上面的例子中,可以看到模板使用了一個>slot標簽。這表明,這個Component將把它的innerHTML作為Component的內容。這一功能類似于AngularJS的“插入”和“插口”。