这里介绍两种组件调用的方法:

1、直接在当前组件(HelloVue.vue)中使用Vue.component插入一个子组件button-counter:

<template><div id="vue"><div id="components-demo"><button-counter></button-counter></div></div>
</template><script type="text/javascript">
// 引入
import Vue from 'vue'export default {......        // 组件本身的一些变量的定义放在这里
}Vue.component('button-counter', {data: function () {return {count: 0}},template: '<button v-on:click="count++">You clicked me {{ count }} times.</button>'
})
</script><style type='text/css'>
</style>

其中Vue.component('button-counter', { .... }) 是子组件的内容,template是子组件的页面内容。

PS:data必须是一个函数

当我们定义这个<button-counter>组件时,你可能会发现它的data并不是像这样直接提供一个对象:

data: function () {return {count: 0}
}

取而代之的是,一个组件的 data 选项必须是一个函数,因此每个实例可以维护一份被返回对象的独立的拷贝:

data: function () {return {count: 0}
}

由于你可以将组件进行任意次数的复用(注意当点击按钮时,每个组件都会各自独立维护它的 count。因为你每用一次组件,就会有一个它的新实例被创建),如果 Vue 没有这条规则,点击这个按钮就可能会影响到其他所有实例。

2、我们也可以直接在当前组件页面上引入其他组件:

<template><div id="vue"><div><simple-counter></simple-counter>  </div></div>
</template><script type="text/javascript">
// 引入其他组件
import simpleCounter from './simple-counter.vue'export default {// 这里需要将模块引出,可在其他地方使用components: {'simple-counter': simpleCounter},data () {......      // 当前组件的变量等声明在这里},methods: {.....}
}
</script><style type='text/css'>
</style>

在被当做标签使用的组件中,我们像往常一样创建一个组件即可:

例如这里我们使用的组件simple-counter.vu:

<template><div id="app"><button v-on:click="counter += 1">{{ counter }}</button></div>
</template><script type="text/javascript">
// 注册
export default {data () {return {counter: 0}}
}
</script>

在页面上的展现效果——上面是simple-counter组件的效果,下面是button-counter的效果:

注意如果出现这样的error信息:Identifier 'simple_counter' is not in camel case

这里建议组件的引用命名使用驼峰命名法即可~改成simpleCounter就可以正确运行啦!

Vue:把组件作为自定义元素来使用以及Identifier ' simple_couter' is not in camel case问题解决相关推荐

  1. [vue] vue给组件绑定自定义事件无效怎么解决?

    [vue] vue给组件绑定自定义事件无效怎么解决? 两种方式 1.组件外部加修饰符.navtive 2.组件内部声明$emit('自定义事件') 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放 ...

  2. Vue.js 组件基础

    基本示例 这里有一个 Vue 组件的示例: // 定义一个名为 button-counter 的新组件 Vue.component('button-counter', {data: function ...

  3. vue中子组件和子组件之间怎么通信_Vue组件间通信6种方式

    摘要: 总有一款合适的通信方式. Fundebug经授权转载,版权归原作者所有. 前言 组件是 vue.js 最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用 ...

  4. vue教程4:自定义组件的使用

    概述 组件是一个可复用的vue实例 组件通过Vue.component(组件名称, 配置)进行注册 组件的data必须是返回json对象的函数,这样组件复用时每个对象都有各自的属性实例 通过templ ...

  5. Vue组件及自定义事件

    目录 Vue.js 组件 动态 Prop Prop 验证 Vue.js 组件 - 自定义事件 data 必须是一个函数

  6. iframe调用父页面方法_5.1 vue中子组件调用父组件的方法,务必理解自定义事件的重要性...

    问题:vue中子组件调用父组件的方法 通过v-on 监听 和$emit触发来实现: 1.在父组件中 通过v-on 监听 当前实例上的 自定义事件. 2.在子组件 中 通过'$emit'触发 当前实例上 ...

  7. Vue | 使用Vue脚手架 【脚手架的基本使用+ref属性+props属性+mixin混入+插件scoped样式+TodoList+浏览器本地存储+组件的自定义事件+全局事件总线+过度与动画】

    文章目录 脚手架的基本使用 初始化脚手架 分析脚手架结构 render函数 修改默认配置 ref属性 props属性 mixin混入 插件 scoped样式 Todo-list案例 组件化编码流程(通 ...

  8. vue中is属性搭配vuedraggable插件实现可拖动可视化大屏展示组件的自定义配置功能

    最近有这样一个需求,将大屏上展示的东西都封装成独立的组件让用户自己可以自定义配置自己的组件位置及想要展示的组件,第一个我就想到通过is来实现,分享下我的思路及部分代码供大家参考. 先看下大概布局: 如 ...

  9. vue 添加全局组件_自定义vue全局组件(Loading为例)

    首先创建一个项目 vue init webpack-simple define-demo //define-demo 项目名称 cd define-demo npm install //安装本次所有需 ...

最新文章

  1. 自动生成低精度深度学习算子
  2. python threading ThreadPoolExecutor源码解析
  3. WPF 窗口居中 变更触发机制
  4. visual studio安装python插件_Visual Studio 2012 Ultimate 上安装 Python 开发插件 PTVS
  5. objc_msgSend() 使用报错解决方案
  6. 如何在Spring MVC Test中避免”Circular view path” 异常
  7. python idle使用anaconda中库怎么用_如何使用Anaconda学习Python
  8. 开源中国 2014 年源创会年度计划
  9. html怎么给code标签添加语言,html code标签怎么用?html code标签的作用解释
  10. Java学习笔记10---访问权限修饰符如何控制成员变量、成员方法及类的访问范围...
  11. 【机器学习】隐马尔可夫模型及其三个基本问题(一)
  12. 固体火箭发动机零维内弹道方程组
  13. java 类型通配符_通配符类型
  14. java校园圈子论坛跳蚤市场小程序源码
  15. mysql 删除临时表的语句_MySQL如何创建和删除临时表_MySQL
  16. 【Scratch二次开发】04-构建离线版本
  17. 2023上半年软考高级哪个好考?-信息系统项目管理师
  18. YOLOv6训练时报错解决方法
  19. Android隐藏标题栏
  20. C语言标准化输入、输出字符

热门文章

  1. [软件测试]怎么测试一个杯子
  2. Java筑基18-布置作业啦(考查抽象类、内部类、工厂模式等)
  3. C语言的一些基础语法
  4. 关系模式(关系模式必须遵循)
  5. 中介兴风 深圳楼市起浪
  6. 12. 综合练习 - 相亲APP
  7. 团队口号_激励口号_口号大全分享到:
  8. 刷题day_12:快乐数
  9. Hadoop基础入门学习
  10. CentOS7中安装网易云音乐