Vue的两种使用方法:
1、可以通过脚手架搭建项目
2、可以使用传统方法,在html文件中引入vue.js,再搭建项目(此方法虽行的通,但几乎没人用)
vue使用mustache模板引擎
注意:
1、Vue脚手架版本并非Vue版本
2、Vue有官方脚手架vue-cli,还有其它民间脚手架,比如:webpack-simple
实例化vue对象后,vue下的data、methods等,都会被提取到vue实例中,提取的过程被称为注入
注入的目的:
1、完成数据响应式
2、绑定this
Vue源码使用比较高效的diff算法,渲染时采用虚拟DOM树方法
简而言之就是:vue为了提高渲染效率,把模板编译成为虚拟DOM树,然后再转化生成真实DOM。
虚拟DOM的好处是,当数据变动时,将重新编译生成新虚拟DOM树,然后使用diff算法前后两棵树对比,仅将差异部分反映到真实的DOM中,这样可以最小程度改动DOM,提升渲染效率
Vue提供多种方式生成虚拟DOM树(新手可理解为:Vue有多种渲染模板的方法):
1、在挂载内部直接写vue代码,也就是传统HTML+JS的写法(先做好模板,然后通过js代码赋值),此时将使用元素的outerHTML作为模板;
2、在实例化Vue对象中的template配置中写代码;
3、在实例化Vue对象中的render配置中,用函数直接创建虚拟节点,此时完全脱离模板,将省略编译步骤
上面三种的优先级顺序:render > template > outerHTML
注意:模板只能有一个根节点,虚拟节点树必须是单根的,diff算法决定了,只能由真实DOM和虚拟DOM两棵树对比
下面以outerHTML模板做为背景,结合代码,讲解一些指令的用法
指令会影响元素的渲染行为,指令始终以“v-”开头
v-for:循环元素,比如要循环<li>
v-if、v-else-if、v-else:控制元素生成
v-show:控制元素可见度
v-html:设置元素的innerHTML
带html标签的内容,如:<h1>标题</h1>,在Vue中使用mustache模板引擎的{{变量名}}进行渲染,html标签会被编码并直接输出到页面,使用v-html指令就可以将标签作为html的一部分显示出来
注意:该指令会导致元素的模板内容失效
v-bind:绑定属性
HTML标签自带的属性,如a标签的href属性、img的src属性,无法通过{{变量名}}进行渲染赋值,Vue提供了v-bind用于属性绑定,如 v-bind:href="变量名"、v-bind:src="变量名"
v-bind可以简称成冒号,如 :href="变量名"、:src="变量名"
v-on:注册事件
该指令由于十分常用,因此提供了简写@
事件参数会自动传递,调用函数时可不带参数,比如:@click="func_name" 和 @click="func_name($event)" 是一样的
事件支持一些指令修饰符,如:prevent、stop
prevent 阻止元素的默认行为,比如a标签的跳转行为,使用方法如:@click.prevent="fun_name"
stop 阻止冒泡
体验Vue,outerHTML模板
1
21212
dfsdf
fdsfsd
下一篇:Vue入门必备知识