javascript - vue 写一个组件和写一个插件有什么区别?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-07-05 10:58:03
0
2
1118

现在想写一个分页的东西,但是拿不定是写成一个.vue单文件好还是用install写成一个插件好,不太清楚2者之间的区别,感觉.vue就能解决需求,但是为什么要有install这个方式呢,另外有一个关于install写插件的问题

//pagetion的模版
    <template>
      <p class="paging">
        <p name="pagingPage">
          <li>
            <span class="paging-first"></span>
          </li>
          <li v-for="item in numArr">
            <span class="paging-next">{{item}}</span>
          </li>
          <li>
            <span class="paging-last"></span>
          </li>
        </p>
       </p>
    </template>
    

    //这个是install写插件
    let paging = {
      install: function(Vue, options) {
        Vue.component('pagination',pagination);
      }
    }
    
    

我install里面的options配置参数如何传递到pagetion的模版里面去呢?

曾经蜡笔没有小新
曾经蜡笔没有小新

全部回复(2)
迷茫

Vue 的组件是模板和 UI 逻辑的结合。

如果分页逻辑在许多组件之间需要复用,那么最好的方式显然是通过插件复用 Vue 文件的 JS 逻辑。

如果分页逻辑只在一个组件中用到,那么使用插件和 mixins 会降低单个 Vue 组件的可读性。

洪涛

一个Vue插件可以是一堆Vue组件的集合(插件干的事就是把内部的组件帮你倒入到vue全局下),也可以是用来扩展Vue功能的,比如 Vuex, Vue-Router。你也可以写一个插件,在Vue原型上扩展方法,要实现这个需求绝对没法写成组件。

 let whatever = {
      install: function(Vue, options) {
        Vue.prototype.$whatever = function(){
          // do something 
        };
      }
    }
    
// 你这个用组件咋搞?

另外,你为啥要在install插件的时候决定插件倒入的组件的数据呢?那不是应该你在用这个组件的时候通过props来控制么?

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板