1.vue实例、挂载点、模板
创建vue实例:new Vue({
el:"#root"
})
el含义:这个实例接管id=root元素的内容,即vue实例和一个dom节点做了绑定,
实例的挂载点是id=root元素。
模板:挂载点内部的内容,模板也可写在vue实例的template属性里。
使用vue,可以不用直接操作DOM,而是着重于数据的操作,vue会和DOM打交道。
2.vue实例数据、点击事件
插值表达式:{{test}},test的值是vue实例的data属性中的test值。
v-text:v-text="context"直接显示context的值,标签也会转义为文本。
v-html:v-html="context" 输出<标签> 和文本。
v-on:click 绑定点击事件,可简写成 @click,事件触发时执行的函数可以在vue实例的methods中触发。
''this.data.属性名'' 指 "vue 里的data里的属性"。
v-bind:属性绑定。缩写为冒号 : (:title)。
v-model:双向数据绑定,随着数据的修改与之对应的也会修改。
3.计算属性、侦听器
计算属性 computed:{
fullName: function() {
return this.firstName + " " + this.lastName;
}
}
computed 有缓存的功能。
侦听器watch:监听某一个数据的变化,一旦这个数据发生了变化,就在该侦听器内进行业务逻辑。
4.vue指令:
v-if:当对应的数据值为false时,标签被从DOM树中清除。
v-show:当值为false时,标签并没有被从DOM树中清除,而是给标签添加了一个css样式,display属性,值为none。
如果频繁的显示或隐藏,推荐用v-show,性能好一点。item是每次去的list的内容,index是每次取值的下标,加:key会提升渲染的性能,每次循环key值不能相同。
v-for:循环遍历
<ul>
<li v-for = "(item,index) of list" :key="index">{{item}}</li>
</ul>
data:{
list:[1,2,3]
}
5.全局组件与局部组件
全局组件:注册组件Vm.component({})
局部组件:需要的vue实例中注册组件
props:props为父级(调用该组件的组件)传过来的属性,即子组件接收父组件的值。
父组件可通过属性的方式给子组件传递参数。
每一个组件都是一个vue实例。
$emit子组件向父组件触发事件。
6.vue-cli使用
安装vue-cli
sudo npm install --global vue-cli
vue init webpack todolist01
cd到这个目录下
npm install
npm run dev
目录结构
build:webpack配置文件
config:开发生产环境配置
node_modules:项目的依赖
src:源代码
static:静态资源
main.js整个项目的入口文件
一个.vue文件定义了一个组件