Vue官方文件學習 Prop

2021-10-19 14:59:48 字數 3936 閱讀 1768

官方文件:

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模型 用來給不同的物件分配概率 即使在更精細的模...