1.组件化:
<body>
<div id="app">
<input type="text" v-model="inputvalue">
<button v-on:click="handleBtnClick">提交</button>
<ul>
<todo-item v-for="item in List"></todo-item>
</ul>
</div>
<script>
Vue.component("TodoItem", {
template: "<li>fefefefe<li>"
})
</script>
2.子组件数据传递:
<div id="app">
<input type="text" v-model="inputvalue">
<button v-on:click="handleBtnClick">提交</button>
<ul>
<todo-item v-bind:content="item"
v-for="item in List">
</todo-item>
</ul>
</div>
<script>
Vue.component("TodoItem", {
props: ['content'],
template: "<li>{{content}}<li>"
})
</script>
其中此部分的组件称为全局组件:
Vue.component("TodoItem", {
props: ['content'],
template: "<li>{{content}}<li>"
})
局部组件写法:
<div id="app">
<input type="text" v-model="inputvalue">
<button v-on:click="handleBtnClick">提交</button>
<ul>
<todo-item v-bind:content="item"
v-for="item in List">
</todo-item>
</ul>
</div>
<script>
var TodoItem = {
props: ['content'],
template: "<li>{{content}}<li>"
}
var app = new Vue({
el: '#app',
data: {
List: [],
inputvalue: ''
},
methods: {
handleBtnClick: function() {
this.List.push(this.inputvalue)
this.inputvalue = ''
}
},
components: {
TodoItem: TodoItem
}
})
</script>
现实的效果: