我需要在我的vue js项目中使用简单的跟踪服务......
在我的app.js中,我可以通过两种方式使用它......
例如: -
1)创建原型:
import moment from 'moment';
Object.defineProperty(Vue.prototype, '$moment', { value: moment });
2)使用插件将服务合并到其中:
import axios from 'axios';
export default {
install: function(Vue,) {
Object.defineProperty(Vue.prototype, '$http', { value: axios });
}
}
两者都使用原型,两种方式都适合我......我只需要知道这两种方法之间的区别......
答案 0 :(得分:3)
插件应该具有您使用的install
属性:
const MyPlugin = {
install: function(Vue,) {
Object.defineProperty(Vue.prototype, '$http', { value: axios });
}
}
当您使用插件时,您应该调用Vue.use()
方法
Vue.use(MyPlugin);
this.just调用插件上的install
方法
在您的情况下,您只是在Vue
上设置原型。
插件主要用于开发第三方库或资产以纳入其他vuejs项目。
例如,考虑您开发了一个可供其他人使用的vue组件;
您可以定义一个插件:
import MyComponent from './path'
const MyPlugin = {
install: function(Vue,) {
Vue.component('my-component', MyComponent);
}
}
export MyPlugin;
现在,当您在npm
上发布插件时,其他人可以按如下方式使用您的组件:
import MyComponent from 'MyComponent'
Vue.use(MyComponent);
现在my-component
可在全球任何其他组件中使用,可用作:
<my-component></my-component>my-component>