排名
                
                
                    6
                
            
                    文章
                
                
                    6
                
            
                    粉丝
                
                
                    16
                
            
                    评论
                
                
                    8
                
            
            {{item.articleTitle}}
            
    {{item.blogName}} : {{item.content}}
        
            ICP备案  :渝ICP备18016597号-1
        
        
            网站信息:2018-2025TNBLOG.NET
        
        
            技术交流:群号656732739
        
        
            联系我们:contact@tnblog.net
        
        
            公网安备:
50010702506256
        
    
50010702506256
        
        
            欢迎加群交流技术
        
    
    
    分类:
    前端
什么是vue组件
可以重复使用vue实例,相当于可以自己定义一个控件,类似mvc里边的分部页用来重复使用的
vue组件语法:
Vue.component('组件名字',{
  data:function()
  {
      return {
          count:1
      }
  },
  template:"组件的定义,组件的内容"
})这里的data是一个函数而不是一个对象,因为可以让每个对象相互独立,传一个函数vue内部执行以下一样可以返回一个json对象,和单独的vue其实也是一样的,只是每个函数相互独立所以数据也相互独立。这种本来需要返回数据而返回一个函数的在jquery插件的写法还有highchats里边提供初始数据的时候都有用到:
例如highcharts当中的:
series: [{
    name: 'Tokyo',
    data: function () {
        var data = [];
        for (var i = 0; i < 16; i++) {
            var y = Math.round(Math.random() * 10);
            data.push({ x: i, y: y });
        }
        return data;
    }()
}]vue组件使用:
<组件名字></组件名字> (当成一个现有的标签去用)
vue组件实例:
定义一个很简单的按钮
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>
<div id="content">
    <count-button></count-button>
    <count-button></count-button>
    <count-button></count-button>
</div>
<script>
    //定义一个vue组件
    Vue.component("count-button", {
        data: function () {
            return {
                count: 1
            }
        },
        template: "<div><button @@click='count++'>你点击了按钮{{count}}次</button></div>",
    });
    //实例化一个vue
    var vm = new Vue({
        el: "#content",
        data: {
            msg: "hello vue.js"
        }
    });
</script>效果如下:
vue组件中简单实用以下插槽:
插槽类似mvc布局页的挖坑
效果如下:
当然slot可以换位置,可以换到后面去测试以下,或者slot还可以有多个给标识到不同地方
vue组件中事件处理:
如果vue组件中只能有内部的事件,而不是执行外部的事件那么这个组件就很不灵活了,内部的事件相当于是死的功能每个使用组件的都一样
而vue.js组件中使用自定义事件也很简单,使用$emit触发即可。代码如下,这样事件就可以在外部处理了:
然后在使用组件的地方提供事件处理方法即可:
欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)
评价