官网上已经有的内容,我就不再赘述了,直接在官网上查看即可,这里蚊子想换个角度来讲解下vue的组件。
组件,顾名思义,就是把一个相对独立,而且会多次使用的功能抽象出来,成为一个组件。如果我们要把某个功能抽象为一个组件时,要做到这个组件对其他人来说是个黑盒子,他们不用关心里面是怎么实现的,只需要根据约定的接口调用即可。
我用一张图稍微总结了下Vue中组件的构成:
可以看到组件中包含的东西还是蛮多的,而且,还有很多的点没有列出来,这里面的每一个知识点能都展开讲很多。不过我们这里不讲原理,只讲使用。
我们以一个提示弹窗为例,来综合运用下组件的知识点.tips弹窗,几乎所有的框架或者类库,都会有弹窗这个组件,因为弹窗这个功能平时非常普遍,而且模块解耦度高!
<强> 1。接口约定强>
我们这里实现的弹窗,能用到的知识点有:道具、事件,槽,裁判等。这里我们也能看到各个知识点是怎么运用的。
/* * *模态模态接口参数 * @param{字符串}模态。标题模态框标题 * @param{字符串}模态。文本模态框内容 * @param{布尔}模态。showbtn是否显示按钮 * @param{字符串}模态。btnText按钮文字 */Vue.component(“技巧”,{ 道具:[' tipsOptions '), 模板:“#技巧”, 数据(){ 返回{ 显示:假 } }, 计算:{ 小贴士:{ get () { 我们建议=ipsOptions | | {}; 提示={ 标题:技巧。标题| |”提示”, 文字:技巧。文本| |”, showbtn:技巧。showbtn | |真的, btnText:技巧。btnText | |”确定的 };//console.log(建议); 返回提示; } } } }) >之前<强> 2。模态组件的实现强>
提示组件相对来说实现的比较简单,仅用作提示用户的简单弹层。
模板:
& lt; div类="技巧" v-show=靶恪钡墓?巴噬北? & lt; div类=皌ips-close @click”=癱loseTips”祝辞x
模板中将结构分成了三部分,标题,内容和操作区域。这里既可以使用道具传递字符串,也可以使用槽进行定制。
提示样式:
.tips { 位置:固定; 左:10 px; 底部:10 px; z - index: 1001; -webkit-overflow-scrolling:触摸; max-width: 690 px; 宽度:260 px; 填充:10 px; 背景:# fff; 不必:0 0 10 px # 888; border - radius: 4 px; } .tips-close { 位置:绝对的; 上图:0; 右:0; 宽度:20 px; 高度:20 px; 行高:20 px; text-align:中心; } .tips-header { text-align:中心; 字体大小:25 px; } >之前组件内的方法:
方法:{ closeTips () { 这一点。显示=false; }, 是的:函数(){ 这一点。显示=false; 这一点。释放美元(‘是的’,{名称:“wenzi”,年龄:36});//触发是的事件 }, showTips () { var自我=; 自我。显示=true; setTimeout(函数(){//自我。显示=false; }, 2000) } } >之前<强> 3。调用技巧组件强>
首先我们开始渲染组件:
& lt; div类=在“应用程序”; & lt; a href=" javascript:,“rel=巴獠縩ofollow”rel=巴獠縩ofollow”@click=皊howtips祝辞显示& lt;/a> & lt;提示:tips-options=" tipsOptions " ref=岸曰翱颉盄yes=" yes " v-cloak比; & lt; h4槽="头"祝辞提示标题& lt;/h4> & lt; div槽=吧硖濉痹? & lt; p>你好world详解Vue组件实现建议的总结