一、ref
:爲子組件指定一個索引 ID,給元素或者組件註冊引用信息。refs是一個對象,包含全部的ref組件。javascript
<div id="parent">
<user-profile ref="profile"></user-profile>(子組件)
</div>vue
var parent = new Vue({ el: '#parent' })
// 訪問子組件
var child = parent.$refs.profilejava
ps:$表示refs爲vue對象,而不是普通的js對象。post
二、props:父組件向子組件傳值(數據),駝峯式改成橫線式。this
三、scope 做用域spa
在父級中,具備特殊屬性 scope
的 <template>
元素必須存在,表示它是做用域插槽的模板。scope
的值對應一個臨時變量名,此變量接收從子組件中傳遞的 props 對象:code
<component>
元素,動態地綁定到它的
is
特性,咱們讓多個組件可使用同一個掛載點,並動態切換:
var vm = new Vue({ el: '#example', data: { currentView: 'home' }, components: { home: { /* ... */ }, posts: { /* ... */ }, archive: { /* ... */ } } }) <component v-bind:is="currentView"> <!-- 組件在 vm.currentview 變化時改變! --> </component>
my-row是自定義組件component
<table> <tr is="my-row"></tr> </table>
<div> <h2>我是子組件的標題</h2> <slot> 只有在沒有要分發的內容時纔會顯示。 </slot> </div>
父組件模版: <div> <h1>我是父組件的標題</h1> <my-component> <p>這是一些初始內容</p> <p>這是更多的初始內容</p> </my-component> </div>
渲染結果: <div> <h1>我是父組件的標題</h1> <div> <h2>我是子組件的標題</h2> <p>這是一些初始內容</p> <p>這是更多的初始內容</p> </div> </div>
v-on
偵聽器。
foo
的值時,它須要顯式地觸發一個更新事件:
this.$emit('update:foo', newValue)