6个有用的Vue开发技巧

}),

async created() {

const users = await axios.get(“/api/users”);

this.users = Object.freeze(users);

}

};

复制代码

另外需要说明的是,这里只是冻结了users的值,引用不会被冻结,当我们需要reactive数据的时候,我们可以重新给users赋值。

export default {

data: () => ({

users: {}

}),

async created() {

const users = await axios.get(“/api/users”);

this.users = Object.freeze(users);

},

methods:{

// 改变值不会触发视图响应this.data.users[0] = newValue

// 改变引用依然会触发视图响应this.data.users = newArray

}

};

复制代码

3.去除多余的样式


随着项目越来越大,书写的不注意,不自然的就会产生一些多余的css,小项目还好,一旦项目大了以后,多余的css会越来越多,导致包越来越大,从而影响项目运行性能,所以有必要在正式环境去除掉这些多余的css,这里推荐一个库purgecss,支持CLI、JavascriptApi、Webpack等多种方式使用,通过这个库,我们可以很容易的去除掉多余的css。

Hello Vanilla!

We use Parcel to bundle this sandbox, you can find more info about Parcel

<ahref=“https://parceljs.org"target=”_blank"rel=“noopener noreferrer”>here.

body {

font-family: sans-serif;

}

a {

color: red;

}

ul {

li {

list-style: none;

}

}

import Purgecss from"purgecss";

const purgecss = new Purgecss({

content: [“**/*.html”],

css: [“**/*.css”]

});

const purgecssResult = purgecss.purge();

复制代码

最终产生的purgecssResult结果如下,就可以看到多余的a和ul标签的样式都没了

4.函数式组件


函数式组件,即无状态,无法实例化,内部没有任何生命周期处理方法,非常轻量,因而渲染性能高,特别适合用来只依赖外部数据传递而变化的组件。

写法如下:

在template标签里面标明functional 只接受props值 不需要script标签

<List:items=“[‘Wonderwoman’, ‘Ironman’]” :item-click=“item => (clicked = item)”

/>

Clicked hero: {{ clicked }}

{{ item }}

复制代码

5.监听组件的生命周期


比如有父组件Parent和子组件Child,如果父组件监听到子组件挂载mounted就做一些逻辑处理,常规的写法可能如下:

// Parent.vue

<Child @mounted=“doSomething”/>

// Child.vue

mounted() {

this.$emit(“mounted”);

}

复制代码

这里提供一种特别简单的方式,子组件不需要任何处理,只需要在父组件引用的时候通过@hook来监听即可,代码重写如下:

<Child @hook:mounted=“doSomething”/>

<Child @hook:updated=“doSomething”/>

复制代码

结尾

学习html5、css、javascript这些基础知识,学习的渠道很多,就不多说了,例如,一些其他的优秀博客。但是本人觉得看书也很必要,可以节省很多时间,常见的javascript的书,例如:javascript的高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

高级程序设计,是每位前端工程师必不可少的一本书,边看边用,了解js的一些基本知识,基本上很全面了,如果有时间可以读一些,js性能相关的书籍,以及设计者模式,在实践中都会用的到。

html5

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值