收款定制开发【vue 组件化开发 一 】组件基本使用、全局和局部组件、父组件和子组件的区别

目录


前言:

收款定制开发完整内容请关注:

一、收款定制开发组件的基本使用

收款定制开发简单的组件化使用例子

收款定制开发组件是可复用的 Vue 实例,且带有一个名字:

在这个例子中是button-counter 。我们可以在一个通过 new Vue 创建的 Vue 根实例中,把这个组件作为自定义元素来使用:<button-counter></button-counter>

template中是组件的DOM元素内容。

<button-counter></button-counter>使用组件

  1. <div id="app">
  2. <button-counter></button-counter>
  3. </div>
  4. <script src="./vue.js"></script>
  5. <script>
  6. Vue.component('button-counter',{
  7. data:function(){ //必须是函数
  8. return{
  9. count:0
  10. }
  11. },
  12. template:'<button @click="handle">点击了{{count}}</button>',//只能有一个根元素
  13. methods:{
  14. handle:function(){
  15. this.count++
  16. }
  17. }
  18. })
  19. const vm = new Vue({
  20. el:"#app",
  21. data(){
  22. return{
  23. }
  24. }
  25. })
  26. </script>

二、全局组件和局部组件

全局注册,通过 Vue.component

局部注册,通过 components:{}

全局组件

​全局组件,可以在多个vue实例中使用,类似于全局变量。

​使用Vue.component('HelloWorld', {data(){}})方式注册,直接使用<button-counter></button-counter>调用。HelloWorld是全局组件的名字,{data(){}}是定义的组件对象。

 <hello-world></hello-world>

第二个全局组件通过<HelloWorld></HelloWorld>

实现了在渲染

  1. <div id="app">
  2. <button-counter></button-counter>
  3. <hello-world></hello-world>
  4. </div>
  5. <script src="./vue.js"></script>
  6. <script>
  7. Vue.component('HelloWorld',{
  8. data(){
  9. return{
  10. msg:"HelloWorld"
  11. }
  12. },
  13. template:`<div>{{msg}}</div>`
  14. })
  15. Vue.component('button-counter',{
  16. data:function(){ //必须是函数
  17. return{
  18. count:0
  19. }
  20. },
  21. template:`
  22. <div>
  23. <button @click="handle">点击了{{count}}</button>
  24. <HelloWorld></HelloWorld>
  25. </div>`,
  26. //只能有一个根元素
  27. methods:{
  28. handle:function(){
  29. this.count++
  30. }
  31. }
  32. })
  33. const vm = new Vue({
  34. el:"#app",
  35. data(){
  36. return{
  37. }
  38. }
  39. })
  40. </script>

局部组件

​ 局部组件,只能在当前vue实例挂载的对象中使用,类似于局部变量,有块级作用域。

​ 使用方式与全局变量一样,直接使用<hello-world></hello-world>调用

  1. <div id="app">
  2. <hello-world></hello-world>
  3. <hello-tom></hello-tom>
  4. <hello-jerry></hello-jerry>
  5. </div>
  6. <script src="./vue.js"></script>
  7. <script>
  8. let HelloWorld ={
  9. data:function(){
  10. return{
  11. msg:'HelloWorld'
  12. }
  13. },
  14. template:`<div>{{msg}}</div>`
  15. };
  16. let HelloTom ={
  17. data:function(){
  18. return{
  19. msg:'HelloTom'
  20. }
  21. },
  22. template:`<div>{{msg}}</div>`
  23. };
  24. let HelloJerry ={
  25. data:function(){
  26. return{
  27. msg:'HelloJerry'
  28. }
  29. },
  30. template:`<div>{{msg}}</div>`
  31. }
  32. const vm = new Vue({
  33. el:"#app",
  34. data:{
  35. },
  36. components:{
  37. 'hello-world': HelloWorld,
  38. 'hello-tom': HelloTom,
  39. 'hello-jerry': HelloJerry,
  40. }
  41. })
  42. </script>

三、父组件和子组件的区别

​ 上述代码中定义了两个组件对象cpn1cpn2,在组件cpn2中使用局部组件注册了cpn1,并在template中使用了注册的cpn1,然后在vue实例中使用注册了局部组件cpn2,在vue实例挂载的div中调用了cpn2cpn2cpn1形成父子组件关系。

注意:组件就是一个vue实例,vue实例的属性,组件也可以有,例如data、methods、computed等。

  1. <div id="app">
  2. <cpn2></cpn2>
  3. </div>
  4. <script src="../js/vue.js"></script>
  5. <script>
  6. // 1.创建组件构造器对象
  7. const cpn1 = Vue.extend({
  8. template:`
  9. <div>
  10. <h2>标题1</h2>
  11. <p>组件1</p>
  12. </div>`
  13. })
  14. // 组件2中使用组件1
  15. const cpn2 = Vue.extend({
  16. template:`
  17. <div>
  18. <h2>标题2</h2>
  19. <p>组件2</p>
  20. <cpn1></cpn1>
  21. </div>`,
  22. components:{
  23. cpn1:cpn1
  24. }
  25. })
  26. const app = new Vue({
  27. el:"#app",
  28. components:{//局部组件创建
  29. cpn2:cpn2
  30. }
  31. })
  32. </script>

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发