这次给大家带来如何用vue写一个自定义组件,用vue写一个自定义组件的注意事项有哪些,下面就是实战案例,一起来看一下。
写一个vue组件
我下面写的是以.vue结尾的单文件组件的写法,是基于webpack构建的项目。如果还不知道怎么用webpack构建一个vue的工程的,可以移步到vue-cli。
一个完整的vue组件会包括一下三个部分:
template:模板
js: 逻辑
css : 样式
每个组件都有属于自己的模板,js和样式。如果将一个页面比喻成一间房子的话,组件就是房子里的客厅、卧室、厨房、厕所。如果把厨房单独拿出来的话,组件又可以是刀、油烟机…等等。就是说页面是由组件构成的,而组件也可以是组件构成的。这样就可以非常的灵活,耦合性也非常的低。
先来看看一个组件在不是.vue文件内的写法:
Vue.component('simple-counter', { template: '', data () { // 数据 return { counter: 0 } }, methods: { // 写点方法 }, created () { // 生命钩子 }, computed: { // 计算属性 }})
登录后复制
template是用来干嘛的呢?
登录后复制
js部分
export default { data () { return { counter: 0 } }, methods: { // 方法 }, created () { // 生命钩子 }, computed: { // 计算属性 }}// 在这里很明显js部分就是对应的原生写法内的非template部分了。// export default这个是es6的模块写法,不懂的可以先去了解es6的模块化
登录后复制
css部分
...样式
登录后复制
引入
要怎么在其它组件引用该组件?
组件一(button.vue)
export default { props: ['text'], // 获取父组件的传值 data () { return { } }, methods: { onClick () { console.log('点击了子组件') } }}.button { button { width: 100px; }}
登录后复制
组件二(box.vue)
import Button from './button.vue' // 引入子组件export default { components: { 'v-button': Button }, data () { return { text: '按键的name' } }, methods: { }}
登录后复制
相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!
推荐阅读:
Angular项目中使用scss步骤详解
怎样使用vue2.0+koa2+mongodb实现注册登陆
以上就是如何用vue写一个自定义组件的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2757121.html