vue 扩展

一般在vue项目开发时会用webpack 模块化开发,它和在页面里引用vue 的写法还是有区别的

webpack 配合:

一般都是在webpack.config.js配置编译的js

也就是entry 内,通常是app.js,output里配置输出位置

在输出目录内创建html,引用生成的js即可

app.js:

它是就是require引用vue ,vue-router,vue-resource 等

然后引入全局组件,过滤器,还有路由配置js

还有默认的app.vue 组件,

最后router.start(app,el) 


app.vue:

它就是一个组件,

由<style> <template> <script>组成,可以定义样式,模板,和组件模块

组件由module.exports={}来返回一个对象

有时需要在模块里使用Vue,那么怎么办呢?

当然是require引用,然后使用了

这里引用的Vue和app.js里配置扩展的一样吗?

当然一样了,app.js里为Vue添加的属性方法,都可以访问到

整个项目里require引用的vue都是一个对象。

当然组件模块里如果不引用是访问到不了Vue的。

module对象内可以用this来访问vue实例对象上的原型方法


全局组件:

引用vue 和组件模块,用Vue.commponent(name,require('..')

注入到全局上,在app.js 里直接引用此js。这样项目中都可以用全局组件了


vue扩展:

1,引用的Vue是一个构造函数,可以在其上添加静态属性或方法。

Vue.webpack={};

在其他模块里引用的Vue就可以使用了。

全局vue的组件 指令 过滤器用此来实现 的。



2,还可以为其原型添加属性或方法,这样new Vue() 实例化的对象就可以访问原型属性、方法了

Vue.prototype.getname=function(){
	console.log('getname')
}
var v=new Vue({
	el:'#app2',
	ready:function(){
		this.getname();
	}
})
v.getname()

会输出两次getname,对其对象或this都可以访问

当然model定义的组件对象也可用this来访问


3、还有一种写法

js 模块返回一个函数,参数vue。app.js引用了调用此函数,把vue 传递,内部扩展vue

module=function(vue){

vue.xx

}

这种写法是可以的,但是Vue为我提供了一个实现的方法,Vue.use(fn|obj)

它参数是对象或方法。

如果是方法它会把vue当参数传递

如果是对象会调用其上的install 方法,把vue传递,第二参数为optins配置对象








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值