vue.js
Pages: 1/7 First page 1 2 3 4 5 6 7 Next page Final page [ View by Articles | List ]
Sep 22
Vue3.0 正式版已经发布一段时间了,除了拥抱函数式编程,还带来了新的语法糖,用以替代原本需要大量 return 的写法
基础用法
想要使用 setup 模式只要在 script 标签上面加个 setup 属性就可以了。这个模式下不需要 return 和 export 就可以在模板中使用。

使用 props、emit

使用生命周期钩子

setup 语法糖的缺陷
这个语法糖暂时还不支持单文件导出内容,如果使用 export 导出模块会导致编译报错。

不支持设置组件名,传统的 options 写法有个 name 属性可以设置组件名,这个在编写递归组件的时候很有用

不支持 jsx,不过如果需要使用 jsx 的话,个人还是建议直接使用传统方式,setup 函数可以直接 return 一个 jsx 函数。而且 Vue 3.0 已经默认支持 css module 了,jsx 的体验会比之前更好。


其他



写在最后
这个特性其实还是实验性质的,可能会有不少我暂时还没遇到的奇怪 bug,所以不建议在生产环境使用。不过他确实可以精简不少的代码,特别是哪种内容比较丰富的页面,尽管可以拆成多个子组件和 hooks,但是在拆分的比较多的情况下,引入模块也不可避免地要写一堆的模板代码,相信这样的编码方式以后会成为 Vue 的标准范式。
Jun 10
首先,移除一些冷门的 feature(比如 filter、inline-template 等);

其次,引入 tree-shaking 的技术,减少打包体积。

第一点很好理解,所以这里我们来看看 tree-shaking,它的原理很简单,tree-shaking 依赖 ES2015 模块语法的静态结构(即 import 和 export),通过编译阶段的静态分析,找到没有引入的模块并打上标记。
举个例子,一个 math 模块定义了 2 个方法 square(x) 和 cube(x) :

我们在这个模块外面只引入了 cube 方法:

最终 math 模块会被 webpack 打包生成如下代码:

可以看到,未被引入的 square 模块被标记了, 然后压缩阶段会利用例如 uglify-js、terser 等压缩工具真正地删除这些没有用到的代码。

也就是说,利用 tree-shaking 技术,如果你在项目中没有引入 Transition、KeepAlive 等组件,那么它们对应的代码就不会打包,这样也就间接达到了减少项目引入的 Vue.js 包体积的目的。
Jul 31
遇到vue一直报错assigning to rvalue解决,一直以为是js代码的问题,后面找了很久的原因,才发现是在html的模板中v-model绑定的属性并没有在data属性中定义

v-model绑定错误引起
Apr 15
当然可以用vue-tap,vue-touch
这里讲的是原生的
给dom加个ref,例如demo
Apr 10








Tags: , , ,
Oct 7
使用webpack的插件DllPlugin加快打包速度
https://segmentfault.com/a/1190000012925212
链接无法访问直接下载离线网页
Download ( 1112 downloads)
Oct 7

webpack有各种包依赖,如果某个包版本之后会出现此类报错,修改package.json的包版本,重新执行npm i或者cnpm更新包到最新版本即可
Aug 21
本文基于 "element-ui": "^2.4.3", tree控件文档:https://element.faas.ele.me/#/zh-CN/component/tree#tree-shu-xing-kong-jian
这是个坑,如果遇到这个问题,先到git上看下人家的bug fix:https://github.com/ElemeFE/element/issues/4944  
然并卵,我这没搞定,通过下面方法搞定
Highslide JS
具体操作:
1、在tree外包一层div,给class=‘tree’
2、定义tree的样式
3、重写tree样式


代码:
template


style
Pages: 1/7 First page 1 2 3 4 5 6 7 Next page Final page [ View by Articles | List ]