Vue----slot插槽,ref, mixins, filter,transition,nextTick

1、slot分发内容 --- 插槽

组件中内容是显示还是不显示,在哪里显示,如何显示,这就是内容分发所干的活
e0a2101d316da98ca9e67091f0a2607a.png
d3ca002ca33b105c080d9b951b28b4f7.png
b1efdc26ebc41ab3250e6c5eb4c2d300.png

一般在自定义组件 以及使用UI库时使用居多,提高组件的复用性

2、ref - 标签 - 组件 -this.$refs.

vue借鉴于react,作用类似于id,具有唯一性 ---- 实际上操作的就是DOM
首页 上拉加载下拉刷新 --- ref=“loadmore”
ad03479471598eef1c5d79dc443467ad.png
9ba78125c004db8d328e46bb0525197b.png
8ead1acc3710d63edb3b8ea5c5b523c5.png

--- ref --- 获取DOM节点
--- 如果放在组件中,可以通过他获取到子组件的数据

3、混入 mixin

组件中相同的选项可以使用混入简化代码 ---- 提高组件的复用性 -----
8d43bf1e94a3e3241bfc6115351001c3.png
265112bc17f2025e325640372644888a.png
38cfa8b327e6972fb8061704b94a1077.png
f4bda3d9296908d87b7eb226490172bd.png

4、自定义指令

如果很多页面都要使用该指令,那么建议使用全局自定义指令

全局自定义指令 v-name

Vue.directive('name', {
// 当被绑定的元素插入到 DOM 中时……
    inserted: function (el) {
        // 聚焦元素
     el.focus()
   }
})

main.js
4b7fed62b3f734022cec7fff7c03a87e.png
e81f4d0064f4dbf716e23d99c79b7214.png

局部自定义指令

new Vue({
    directives: {
        focus: {
            inserted: function (el) {
                // 聚焦元素
             el.focus()
           }
        }
    }
})

a5070b40b9e742ebd00ec4511fcb858e.png
e81f4d0064f4dbf716e23d99c79b7214.png

5、过滤器

全局定义的过滤器 {{ sex | name }}

Vue.filter('name', function (val) {
    // val代表你要过滤的数据
})

333daef52ebb6907f03aa20d53b039a4.png
cf0d3cff9677b22c16ee3987b99a8464.png

局部定义的过滤器
1f82fed5452981863a928620b186b893.png
cf0d3cff9677b22c16ee3987b99a8464.png

6、路由的过渡效果

1c206b24600de89cb2fa75e6724daf23.png
d9766e9e26e9425f2a50a4f708c6c6c9.png

7、nextTick

状态改变,视图渲染,实际上DOM节点的值并未及时发生改变,使用nextTick可以解决此问题
39c05ee4aca158ff4a20911c8f300b63.png

修改完数据如果需要使用DOM操作,那么一定要记得他

---------------------------------------------------------------------------------------------文章来自吴大勋(大勋说)---------------------------------------------------------------------------------------------

 
posted @ 2020-04-21 00:01  haccer  阅读(157)  评论(0编辑  收藏  举报