初學vue.js,在看官方文檔,https://vuejs.org/v2/guide/co...,在談及通過props屬性向部件傳遞參數(shù)時,文檔說可以通過直接傳遞一個對象而實現(xiàn)一些列屬性的傳遞,比如v-bind="object",然而這樣一來,在部件的props屬性中的各項就要和所傳遞對象的屬性名保持一直,那么部件不就沒有了可復用性了嗎?
下面是我寫的一個小demo,其中的部件cp-component6的props就需要有實例中的data.person對象的屬性名name和year,這樣如何能做到復用呢?是我使用的場景不對還是有其他解決方法?
<div id="example6">
<cp-example6 v-bind="person" v-bind:do-Something="thing"></cp-example6>
</div>
Vue.component('cp-example6',{
template: '<p>The {{year}} old boy {{name}} {{doSomething}}.</p>',
props: ['name','year','doSomething']
});
var example6 = new Vue({
el: '#example6',
data: {
person: {
name: 'jack',
year: '13'
},
thing: 'plays with dog'
}
});你對組件的復用理解有偏差。
子組件需要的 props ['name','year','doSomething'] 是不變的,根據(jù)傳入值不同,有不同的效果,那么這個子組件就是復用了的。這個可以類比下函數(shù)的復用,幾個相近的功能,我可以封裝一個函數(shù),來提高代碼復用性,提供幾個參數(shù)來控制函數(shù)最后要實現(xiàn)的功能
你上面闡述的問題,其實是在說,我有一個子組件,我知道它有哪些屬性了,那么在父級我要怎么把屬性傳遞給子級,是通過 v-bind:propName="propValue" 一個個列出來呢,還是一次性通過 v-bind="obj" 傳過去,這個并不影響子組件的復用性。
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質教育資源及背
博為峰,中國職業(yè)人才培訓領域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向對象開發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。