Vue的基本使用
2019-10-20 22:55
169 查看
ES6的基本用法
let 命令
let
命令,用来声明变量。它的用法类似于var
,但是所声明的变量,只在let
命令所在的代码块内有效。
{ let a = 10; var b = 1; } a // ReferenceError: a is not defined. b // 1
特点:
- 局部作用域
- 不会存在变量提升
- 变量不能重复声明
const 命令
const
声明一个只读的常量。一旦声明,常量的值就不能改变 。
const PI = 3.1415; PI // 3.1415 PI = 3; // TypeError: Assignment to constant variable.
特点:
- 局部作用域
- 不会存在变量提升
- 不能重复声明,只声明常量(不可变的量)
模板字符串
# tab键上面的反引号 ${变量名}来插值 let name = '未来'; let str = `我是${name}`
箭头函数
ES6 允许使用“箭头”(=>
)定义函数。
var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; };
如果箭头函数的函数体部分多于一条语句,就要使用大括号将它们括起来,并且使用return
语句返回。
var sum = (num1, num2) => { return num1 + num2; }
vue的基本用法
vue的介绍
vue的基本引入和创建
- 下载
CDN方式
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
- 引包
<script src='./vue.js'></script>
- 实例化
<div id="app"> {{ message }} </div>
//2.实例化对象 var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } })
vue的模板语法
可以插入任何你想插入的内容,除了 if-else if-else
用三元运算符代替
<!--模板语法--> <h2>{{ msg }}</h2> <h3>{{ 'hhahda' }}</h3> <h3>{{ 1+1 }}</h3> <h4>{{ {'name':'alex'} }}</h4> <h5>{{ person.name }}</h5> <h2>{{ 1>2? '真的': '假的' }}</h2> <p>{{ msg2.split('').reverse().join('') }}</p>
vue的思想 = 数据驱动视图
vue的基本指令
v-text和v-html
v-text相当于innerText v-html相当于innerHTML
双大括号会将数据解释为普通文本,而非 HTML 代码。为了输出真正的 HTML,你需要使用 v-html
指令:
<p>Using mustaches: {{ rawHtml }}</p> <p>Using v-html directive: <span v-html="rawHtml"></span></p>
v-if和v-show
v-show 相当于 style.display
v-if和v-show的区别:
v-if vs v-show v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。 相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。 一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件很少改变,则使用 v-if 较好。
v-bind 和v-on
v-bind
可以绑定标签中任何属性v-on
可以监听 js中所有事件
简写:
v-bind:src
等价于 :src
v-on:click
等价于 @click
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .box { width: 200px; height: 200px; background-color: red; } .active{ background-color: green; } </style> </head> <body> <div id="app"> <!--<button v-on:click = 'handlerChange'>切换颜色</button>--> <!--v-bind 标签中所有的属性 img标签src alt,a标签的href title id class--> <!--<img v-bind:src="imgSrc" v-bind:alt="msg">--> <!--<div class="box" v-bind:class = '{active:isActive}'></div>--> <button @mouseenter = 'handlerChange' @mouseleave = 'handlerLeave'>切换颜色</button> <!--v-bind 标签中所有的属性 img标签src alt,a标签的href title id class--> <img :src="imgSrc" :alt="msg"> <div class="box" :class = '{active:isActive}'></div> </div> <!--1.引包--> <script src='./vue.js'></script> <script> //数据驱动视图 设计模式 MVVM Model View ViewModel //声明式的JavaScript框架 // v-bind和v-on的简便写法 : @ new Vue({ el: '#app', data() { //data中是一个函数 函数中return一个对象,可以是空对象 但不能不return return { imgSrc:'./1.jpg', msg:'美女', isActive:true } }, methods:{ handlerChange(){ // this.isActive = !this.isActive; this.isActive = false; }, handlerLeave(){ this.isActive = true; } } }) </script> </body> </html>
v-for遍历列表
v-for
可以遍历列表,也可以遍历对象- 在使用vue的
v-for
指令的时候,一定要绑定key
,避免vue帮咱们计算DOM
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> .box { width: 200px; height: 200px; background-color: red; } .active { background-color: green; } </style> </head> <body> <div id="app"> <ul v-if="data.status === 'ok'"> <!--v-for的优先级是最高的 diff算法--> <li v-for = '(item,index) in data.users' :key="item.id" > <h3>{{ item.id }} -- {{ item.name }} -- {{ item.age }}</h3> </li> </ul> <div v-for = '(value,key) in person'> {{ key }}-----{{ value }} </div> </div> <!--1.引包--> <script src='./vue.js'></script> <script> new Vue({ el: '#app', data() { return { data: { status: 'ok', users: [ {id: 1, name: 'alex', age: 18}, {id: 2, name: 'wusir', age: 30}, {id: 3, name: 'yuan', age: 48} ] }, person:{ name:'alex' } } }, methods: {} }) </script> </body> </html>
相关文章推荐
- vue的基本使用
- Vuex的基本使用
- 使用vue-cli3新建一个项目并写好基本配置(推荐)
- 详解vue-router基本使用
- vue脚手架基本使用(包括vue-router的基本使用)
- vue中使用echarts图表自适应的几种基本解决方案
- Vue使用vue-recoure + http-proxy-middleware + vuex配合promise实现基本的跨域请求封装
- Vue.js基本使用之双向绑定
- Vue基本使用二-指令
- echarts基本使用 (包括在vue中使用echarts)
- Vuex——基本使用
- Vue基本使用
- 一、Vue的基本使用
- Vue过滤器的基本使用
- 基于vue-cli的vue项目之路由1--最基本的使用
- vue-cli之router基本使用方法详解
- vue基本使用--过滤器
- vue指令(组件)的基本使用一
- Vuex的基本使用
- vue中vee validate表单校验的几种基本使用