template下只允许1个最外层的包裹元素
cli工具中,data不再是对象,作为组件,数据应该要变为一个函数,函数的返回值为具体数据
ES6中可以从data:function()简化为data()
this.list应该指向data下的list,为什么会指向data里面的list呢?
因为vue底层帮我们做了处理,this.list就是this.$data.list的缩写,vue会自动去找,如果data里面没有,会去computed或者methods里去找
父组件循环todo-item的时候需要给每一项加一个key值,暂时可以用index来赋值
单文件组件内不需要绑定挂载点什么的,内部数据可以直接用
dtodolist
引入Vue组件的代码作为一个局部变量
在components目录中增加一个列表项组件,Todoitem.vue
绑定数据,增加按钮事件代码
在vue-cli开发中data需要定义成一个函数。
data : function() {
return {
inputValue: ''
}
}
export default {
data: function(){
return{
}
}
}
this的指向
【this】:this.$data 或 this.$computed
利用Vue-cli时,数据data的定义不是对象,而是一个函数形式,返回值为对象。
vue-cli中data是一个具有返回值的函数,在html中使用是一个属性值
在之前使用new Vue定义一个Vue实例(组件)时,数据存放在data对象里,代码如下:
new Vue({ el: '#app', data: { msg: 'hello vue' } })
但使用vue-cli时,存放数据的data属性不再是对象了,而是一个函数,函数的返回值是一个对象。
export default { data: function() { return { msg: 'hello vue' } } }
使用ES6语法简化为:
export default { // data () {} 表示data是一个函数 data () { return { msg: 'hello vue' } } }
<template>...</template>标签内部只允许有一个根标签(如div),即所有的标签要包裹在一个根标签内,代码如下:
<template> <div> <div>...</div> <ul>...</ul> ... </div> </template>
子組件想要接受傳過來的參數
props:['content']
每一項的內容透過 content 屬性傳給父組件
components:{ 'todo-item':TodoItem }
我希望透過 todo-item 這種標籤的形式來使用 TodoItem組件。
這樣就能把局部組件註冊到跟組件之中
this.list 實際上是 this.$data.list的縮寫
如果data裡面沒有,他還會去 computed、methods裡面查看list的內容
這些都是 Vue底層幫我們做的
data 以前是個對象裡面存數據,現在的寫法變成函數了返回數據
而在 ES6中,
data : function() 可以簡化成 data ()
不寫的話,腳手架工具會自動幫你搜尋以.vue結尾的文件
npm run dev
啟動 webpack-dev-server
父组件给子组件传值,父组件通过:content="item"属性给子组件传值
子组件通过export default{}里的props:['content']接收父组件的传值。
引用组价
import Td from './components/toitem'
注册组件
components:{
'to-do':Td
}
vue-cli组件里data不用对象的方式,而是用函数的方式返回数据。
模板template的最外层只能有一个包裹原酸div
在单文件里面data返回的应该是一个函数而不是一个对象
这里是引入模板component,./表示当前目录下
data是个函数,返回的数据写在return里
data前面学的是对象,现在是个函数。目前不理解,先记下来