我正在try vuejs,下面是laracasts系列的网络广播.在https://laracasts.com/series/learning-vue-step-by-step/episodes/8中,Jeffery Way讨论了定制组件.根据他的视频,我有以下代码:
<div id="app">
<tasks list="tasks"></tasks>
</div>
<template id="tasks-template">
<ul>
<li :class="{'completed' : task.c}" @click = "task.c = ! task.c" v-for ="task in tasks">{{task.t}}</li>
</ul>
</template>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/1.0.12/vue.js"></script>
<script type="text/javascript">
vue.component('tasks', {
template: '#tasks-template',
props:['list'] // why not props:['tasks'] ??
});
new Vue({
el: '#app',
data: {
tasks: [
{t: 'go to doctor', c: false},
{t: 'go to work', c: false},
{t: 'go to store', c: true}
]
}
在这篇文章中,他讨论了如下设置props :
props:['list']
为什么不呢
props:['tasks'] ?
在http://vuejs.org/guide/components.html#Props个国家:
每个组件实例都有自己的独立作用域.这意味着您不能(也不应该)直接引用子组件模板中的父数据.数据可以通过props 传递给子组件."prop"是组件数据上的一个字段,预期会从其父组件传递下来.子组件需要使用props选项显式声明它希望接收的props:
组件如何知道将任务数组与列表关联?同样在这种情况下,我假设child=component,parent=vue实例?