main.js 为什么调用axios时什么情况使用挂载
(1)
上图使用的是挂载
(2)
而这里使用的事继承
为什么(1)return以后用的是挂载,(2)使用的是继承呢?
回答:
在 Vue2 Plugins 文档中有 install
的例子,其中一段是往 Vue 实例注入方法,也可以使用同样的方式注入对象:
MyPlugin.install = function (Vue, options) { // 4. add an instance method
Vue.prototype.$myMethod = function (methodOptions) {
// some logic ...
}
}
其本质跟在 main
中直接往 Vue.prototype
注入对象是一样的。
但是插件一般是写出来提供给别人用的,目的就是方便装载并提供一定的灵活性。在 install
中可以根据用户传入的 options
来进行一些灵活的配置,也可以在这里进行一些初始化,然后再注入对象或方法 —— 也就是封装「安装 (install)」逻辑。
在 main
中进行上述过程并最终注入,是一样的,只不过所有「安装」逻辑仅对本应用有效而已。
回答:
具体可看vue插件一章,他只是实现了一个vue插件,实际机制是暴露一个install方法供vue进行回调,注册插件,回调回传递Vue构造函数作为入参,他应该也是内部进行原型链方法的绑定。当访问vue实例方法时,会自动往原型链找到添加的axios实例
以上是 main.js 为什么调用axios时什么情况使用挂载 的全部内容, 来源链接: utcz.com/p/936981.html