2017-10-10 71 views
1

我正在使用Vue.js幾個月,它一直在提醒webforms範式,您使​​用組件來創建網站或webapp,但是使用Vue.js很高興創建這樣的事情,而不是與webforms一起的整個噩夢。Vue.js中的嵌套組件2

嗯,我的問題是,如果有可能使嵌套組件只是在標記方式上定義它的父項上的某些行爲。例如:

<grid prop1="somevalue" prop2="somevalue"> 
    <grid-column prop1="somevalue" prop2="somevalue"> 
    <filter-options prop1="somevalue" prop2="somevalue"> 
    </filter-options> 
    </grid-column> 
</grid> 

所以,一個特定的網格組件有列和列有一個過濾器選項。

不想依賴嚴格的javascript代碼。

在此先感謝

編輯:我想補充的是,孩子的分量不能有一個模板。他們只是通過一些道具給父母。

+0

是的,這是可能的。有些東西不能像你期望的那樣工作? – thanksd

+0

是的,看看Vue.JS中的「插槽」概念:https://vuejs.org/v2/guide/components.html#Content-Distribution-with-Lotslots – cello

+0

好吧,如果你不想要childs-compoents有一個模板,以及你可以使它們的渲染函數返回null。舉個例子,在你把它放在一個插槽的網格上,並且必須在網格 - 列組件中放置一些插槽來渲染過濾器選項組件,但是如果網格列的渲染函數返回null? – Nuno

回答

1

要回答你的問題

,如果有可能使嵌套組件只是定義一些行爲上的它的父上標記路

而且要記住你的要求:

不想嚴格依賴JavaScript代碼。

答案是否定的,這是不可能的。父代下方的組件只能在DOM加載後將數據推送(發出)到父代。所以你需要推送一個值,如果你想改變html,就會觸發一些JavaScript。使用JavaScript將是唯一的方法。

爲了達到你的要求,我認爲在父組件上使用道具更有意義。你有更多的靈活性,你可以使它非常靈活。