我写个组件,想实现这样的效果:<info-list @on_data="fetch_data">
<info-item title_field="xxx" link="/xxx/{{ item.id }}"/>
</info-list>然后List的模板大概这样:<script type="x/template" id="info-list">
... <div v-for="item in items">
<slot></slot>
</div>
...</script>Item的模板大概这样:<script type="x/template" id="info-item">
..... <a href="{{ link }}">{{ item[title_field] }}</a>
......</script>主要是问题是,slot里的组件,如何访问外层的状态。我看到stackoverflow也有人问类似的问题:http://stackoverflow.com/questions/37248411/how-to-access-item-in-slot-inside-v-for-vue-js还有:http://forum.vuejs.org/topic/366/slot-as-an-item-row-template/6
2 回答
蓝山帝景
TA贡献1843条经验 获得超7个赞
只能這樣:
<info-list @on_data="fetch_data"> <info-item v-for="item in items"/></info-list>
slot
是在父組件被編譯的,所以其作用域(scope
)是在父組件,沒辦法在子組件傳值給 slot
,可能要考慮改變下結構。
添加回答
举报
0/150
提交
取消