共计 941 个字符,预计需要花费 3 分钟才能阅读完成。
这是一些小问题的记录和总结:
1. vue serve 和 build
在 vue-cli3.0 中可以快速的开发原型。通过全局安全 @vue/cli-service-global
npm i -g @vue/cli-service-global
那么就可以使用 vue serve xx.vue 起服务和 vue build xx.vue 打包。当然打包的话还有更多的配置项:命名,打包模式等。
2. es6 箭头函数
我们来看一下箭头函数的效果:
var num = 10
var getNum = function() { return this.num;}
var getNum2 = () => {return this.num;}
var c = {
num: 11
}
console.log(getNum.bind(c)()) // 11
console.log(getNum2.bind(c)()) // 10
箭头函数是无法通过 bind、apply、call 来修改作用域的这个需要切记。因为我们习惯使用箭头后,会忘记为什么使用。在有些场景,我们自定义的函数,可能会因为习惯而使用箭头函数;而使得作用域错误。所以切记在需要的时候使用箭头函数。
如果我们在 vue 的生命周期使用箭头函数会怎么样?
<template>
<div id=”app”>
</div>
</template>
<script>
export default {
name: ‘app’,
data () {
return {
}
},
created: () => {
console.log(this) // undefined
},
created () {
console.log(this) // vue 实例
},
methods: {
}
}
</script>
很明显,如果使用箭头函数的话,那么 this 也无法被修改,那么就会 undefined。
3. 控件库中多语言是如何实现的
以前我开发控件库的时候,是把设计中文相关的内容都通过外部传入,那么这样就不会设计多语言了。但是如果是一些固定的词汇,那么每次通过外面传入是会比较繁琐的。这边 hui 或 hui-pro 是通过自己定义一个工具库。这个工具库的内容就是先判断 this 存在不存在,存在的话检测 this 对象中是否有对语言对象 i18n,如果存在那么就使用 i18n 的语言进行转换。如果不存在。那么直接使用本地控件库的键值对的形式读取。