-
Vue项目构建工具vue-cli
-
也可以使用更新的create-vue
-
Model绑定到View上是单向绑定,再实现View变化时自动更新Model的数据,就是双向绑定
-
单页面应用SPA相对于MPA也有缺点,一是不利于搜索引擎的抓取,二是首次渲染速度相对较慢
-
v-show隐藏时是为该元素添加css-display:none,dom节点依然在,v-if显示隐藏则是将整个元素添加或者删除
-
v-if有更高的切换消耗,v-show有更高的初始渲染消耗
-
使用$event可以将标签对象的event对象传入函数
<a href="www.xxx.xxx" @click="target($event, number)" />
-
双向绑定只适用于表单元素或者有值输出的其他元素
-
Vue并没有给数组对象的元素配置监听监听方法,所以直接改变数组中的某一个元素,是无法响应的,但是使用手势的操作方法,如push、pop等既可以触发data和页面的响应变化
-
如果需要进行兄弟组件或者不相关的组件进行数据传递,可以使用全局总线或者pubsub-js库,Vue中一般选择时间总线
-
this.$nextTick传输一个函数,可以让函数内部的代码在下一次Dom更新后再执行
-
使用vue的modules将store进行模块划分时,必须给每一个module增加namespace:ture的属性,在使用mapState或者mapActions时,传入的第一个参数是module名称,使用commint时属性需要使用'namespace名称/mutation名称'的方式
-
使用vue-router时,如果参数采用占位符加params方式,跳转时必须使用name,不能使用path
-
在路由配置中配置props有以下三种方式:
- props: {} - 对象形式,可以将props配置的数据通过props的形式传入路由组件,但只能传入固定值;
- props: true - bool值形式,可以将路由的params以props的形式传入路由组件;
- props(route.query.xxx的方式获取参数,并最终返回一个对象,以props的形式传入路由组件。
-
使用router-link时如果要执行replace可以在标签中写入replace属性
-
在使用路由功能时,为了避免组件数据丢失,可以使用keep-alive标签包裹router-view组件,实现组件数据缓存,include可以指定组件名称
-
路由组件多了两个新的生命周期钩子函数,分别是activated(激活的)、deactivated(失活的)
-
Vue3中使用watch监视一个reactive生成的对象时无法正常获取oldValue
-
Vue过滤器的使用
- 你可以在一个组件的选项中定义本地的过滤器:
filters: { capitalize: function (value) { if (!value) return '' value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) } }
- 或者在创建 Vue 实例之前全局定义过滤器:
Vue.filter('capitalize', function (value) { if (!value) return '' value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) }) new Vue({ // ... })
- 使用方法:
<!-- 在插值表达式中 --> {{ message | capitalize }} <!-- 在 `v-bind` 中 --> <div v-bind:id="rawId | formatId"></div>
-
Vue中的强制刷新
- location.reload()
- this.$router.go(0)
- Provide配合inject
PS:如果有需要补充的内容,请在评论区留言
转载时请注明“来自掘金 - EvenZhu”