设为首页 加入收藏

TOP

VUE基础实用技巧(一)
2019-09-23 11:14:17 】 浏览:77
Tags:VUE 基础 实用技巧

Vue以前听说过,有了解过一点。当时还在热衷于原生java script去写一些方法的封装,不是为啥,就感觉这样很帅,后面多多少少接触了一些JQuery的用法,到现在为止,java script原生封装的一些方法,该忘的都忘了。上一家公司需要用到Vue,所以就利用下班的时候学习Vue。有次公司部门的培训,一位大佬总结的实用技巧,感觉不错,在这里记录下来,方便以后查询,也与大家分享。

阮一峰老师写的:http://es6.ruanyifeng.com/

1、ES6新特性概览

2、Vue基础知识

3、Vue组件开发

4、Vue实用技巧

ES6新特性概览

1、箭头函数

var array = [1, 2, 3]; 

// 传统写法 
array.forEach(function(v, i, a){ 
    console.log(v); 
}); 

// ES6 
array.forEach(v = > console.log(v));

2、类的支持

class Animal {  
  constructor(name) { 
    this.name = name; 
}  
sayName() { 
    console.log('My name is ' + this.name); 
} 
}
 
class Programmer extends Animal { 
constructor(name) { 
    super(name); // 直接调用父类构造器进行初始化 
} 
program() { 
    console.log("I'm coding..."); 
} 
}
 
var animal = new Animal('dummy'), wayou = new Programmer('wayou'); 
animal.sayName(); // 输出 'My name is dummy' 
wayou.sayName();  // 输出 'My name is wayou' 
wayou.program();  // 输出 'I'm coding...'

3、字符串模板

// 产生一个随机数
var num = Math.random();

// 输出数字
console.log(`your num is ${num}`);

4、解构

var [x,y] = getVal(), // 函数返回值的解构
[name,,age] = ['wayou','male','secrect']; // 数组解构

function getVal() {
    return [ 1, 2 ];
}

console.log(`x:${x},y:${y}`); console.log(`name:${name},age:${age}`);

5、默认参数值

// 传统的指定默认参数的方式
function sayHello(name){    
    var name = name || 'dude';
    console.log('Hello ' + name);
}

// 运用ES6的默认参数
function sayHello2(name = 'dude'){
    console.log(`Hello ${name}`);
}

6、不定参数

// 将所有参数相加的函数
function add(...x){
    return x.reduce((m,n) => m + n);
}

// 传递任意个数的参数
console.log(add(1,2,3)); // 输出:6
console.log(add(1,2,3,4,5)); // 输出:15

7、扩展参数

var peoples = ['Wayou','John','Sherlock'];

function sayHello(peo1,peo2,peo3){
    console.log(`Hello ${peo1},${peo2},${peo3}`);
}

sayHello(...peoples); // 输出:Hello Wayou,John,Sherlock

8、let与const关键字

for(let i = 0; i < 2 ; i++){
    console.log(i);
}

console.log(i); 

9、for of值遍历

var someArray = [ "a", "b", "c" ];
 
for (v of someArray) {
    console.log(v); // 输出:a,b,c
}

10、Set与Map集合

var s = new Set();
s.add("hello").add("goodbye").add("hello");
console.log(s.size);
console.log(s.has("hello"));

var m = new Map();
m.set("hello", 42);
m.set(s, 34);
console.log(m.get(s));

数组去重:[…new Set([1,2,3,3])]//如果数组里面的值是对象的话,就不可以了。

11、Proxy,Proxy可以监听对象身上发生了什么事情,并在这些事情发生后执行一些相应的操作

// 定义被侦听的目标对象
var engineer = { name: 'Joe Sixpack', salary: 50 };

// 定义处理程序
var interceptor = {
  set: function (receiver, property, value) {
    console.log(property, 'is changed to', value);
    receiver[property] = value;
  }
};

engineer = Proxy(engineer, interceptor); // 创建代理以进行侦听
engineer.salary = 60; // 控制台输出:salary is changed to 60

Vue基础知识

模板语法:

1、文本

<span>Message: {{ msg }}</span>
<span v-once>这个将不会改变: {{ msg }}</span>

2、特性

<div v-bind:id="dynamicId"></div>

3、修饰符,事件修饰符、按键修饰符、系统修饰符

4、HTML

<span v-html="rawHtml"></span>

5、表达式

{{ number + 1 }}
{{ ok ? 'YES' : 'NO' }}
{{ message.split('').reverse().join('') }}

6、缩写

<a :href="url">...</a>
<a @click="doSomething">...</a>

7计算属性和侦听器

computed: {
    reverse
首页 上一页 1 2 3 下一页 尾页 1/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Vue+elementui 实现复杂表头和动.. 下一篇HTTP协议web开发知识点

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目