官方文件:
html中的屬性名是大小寫不敏感的,故瀏覽器會把所有大小寫字元解釋為小寫字元,使用駝峰命名法的prop名需要使用其等價的kebab-case(短橫線分隔命名),如果使用字串模板,則不存在這個限制。
vue.
component
('blog-post'
,)
post-title
="hello!"
>
blog-post
>
props:
['title'
,'likes'
,'ispublished'
,'commentids'
,'author'
]
每個prop也可以是乙個物件,用於對屬性進行驗證;
props:}}
}
title
="my journey with vue"
>
blog-post
>
v-bind:title
="post.title"
>
blog-post
>
v-bind:title
="post.title + ' by ' + post.author.name"
>
blog-post
>
v-bind:likes
="42"
>
blog-post
>
v-bind:likes
="post.likes"
>
blog-post
>
is-published
>
blog-post
>
v-bind:is-published
="false"
>
blog-post
>
v-bind:is-published
="post.ispublished"
>
blog-post
>
v-bind:comment-ids
="[234, 266, 273]"
>
blog-post
>
v-bind:comment-ids
="post.commentids"
>
blog-post
>
v-bind:author=""
>
blog-post
>
v-bind:author
="post.author"
>
blog-post
>
直接將物件賦值
post:
v-bind
="post"
>
blog-post
>
v-bind:id
="post.id"
v-bind:title
="post.title"
>
blog-post
>
這個 prop 用來傳遞乙個初始值;這個子元件接下來希望將其作為乙個本地的 prop 資料來使用。在這種情況下,最好定義乙個本地的 data property 並將這個 prop 用作其初始值:
props:
['initialcounter'],
data:
function()
}
即prop傳入後,在子元件需要轉換後再使用,這種情況下,最好用這個 prop 的值來定義乙個計算屬性:
props:
['size'],
// 傳入size屬性
computed:
}
vue.
component
('my-component',,
// 帶有預設值的數字
propd:
,// 帶有預設值的物件
prope:}}
,// 自定義驗證函式
propf:}}
})
type可以是
type還可以是乙個自定義的建構函式,並且通過instanceof來進行檢查確認:
function
person
(firstname, lastname)
// 使用
vue.
component
('blog-post',}
)
data-date-picker
="activated"
>
bootstrap-date-input
>
type
="date"
class
="form-control"
>
data-date-picker
="activated"
class
="date-picker-theme-dark"
>
bootstrap-date-input
>
在這種情況下,我們定義了兩個不同的 class 的值:
對於絕大多數 attribute 來說,從外部提供給元件的值會替換掉元件內部設定好的值。所以如果傳入 type=「text」 就會替換掉 type=「date」 並把它破壞。但class 和 style 屬性則可以將內部和外部傳入的值合併起來,從而得到最終的值:form-control date-picker-theme-dark。
如果不希望元件的根元素繼承 attribute,你可以在元件的選項中設定inheritattrs: false,如:
vue.
component
('my-component'
,)
這尤其適合配合例項的 $attrs property 使用,該 property 包含了傳遞給乙個元件的 attribute 名和 attribute 值,例如:
有了inheritattrs: false 和 $attrs,就可以手動決定這些 attribute 會被賦予哪個元素。在撰寫基礎元件的時候是常會用到的.
vue.component('base-input', }
v-bind
="$attrs"
v-bind:value
="value"
v-on:input
="$emit('input', $event.target.value)"
>
label
>
`})
v-model
="username"
required
placeholder
="enter your username"
>
base-input
>
Vue官方文件閱讀總結 1
vue是更好的組織和簡化web開發,關注的核心是mvc模式中的檢視層,同時,它也能方便地獲取資料更新,並通過元件內部特定的方法實現檢視與模型的互動。或者說用盡可能簡單的api實現響應的資料繫結和組合的試圖元件 vue和js的聯絡 vue本質上就是js所構成的乙個框架 js使用的時候需要首先獲取dom...
Vue官方文件學習 動態元件和非同步元件
當在多個元件之間進行切換 如選項卡 的時候,為了避免重複渲染導致的效能問題,可能會想對元件進行快取。比如在某個選項卡中選擇了某個選單閱讀某篇長文章,切換選項卡再切換回來,如果沒有保持元件狀態,選單將回到初始選中狀態。v bind is currenttabcomponent component 在切...
TensorFlow官方文件學習(一)
乙個對手寫數字進行識別的模型。思路 1 將訓練集中獲取的手寫數字影象進行某一統一方式 全部按行或全部按列 的展開,得到乙個長向量 這是為了利用softmax做一維的回歸,不過損失了二維資訊 用乙個二維張量來索引某乙個樣本中的某一畫素。2 softmax模型 用來給不同的物件分配概率 即使在更精細的模...