首页 > 其他分享 >Vue学习笔记36--VueComponent构造函数

Vue学习笔记36--VueComponent构造函数

时间:2024-03-06 20:14:48浏览次数:36  
标签:school Vue schoolName -- VueComponent schoolAddress 组件 构造函数

VueComponent构造函数

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>VueComponent</title>
  <script type="text/javascript" src="../../Js/vue.js"></script>
</head>

<body>
  <div id="root">
    <school></school>
  </div>
</body>

</html>
<script type="text/javascript">
  Vue.config.productionTip = false
  // ----------------------创建组件----------------------
  const school = Vue.extend({
    name: 'school',
    template:
      '<div>'
      + ' <h3>学校名称:{{schoolName}}</h3>'
      + ' <h3> 学校地址:{{ schoolAddress }}</h3>'
      + '</div>',
    data () {
      return {
        schoolName: '希望小学',
        schoolAddress: '西安/110号/希望小学',
      }
    },
    methods: {
      showInfo () {
        alert(this.schoolName + '/' + this.schoolAddress)
      }
    }
  })

  console.log('school组件类型==》' + school)
  /*   输出结果如下所示:
    function VueComponent (options) {
        this._init(options); */

  new Vue({
    el: '#root',
    components: {
      school
    }

  })

</script>

示例一:

注: console.log('school组件类型==》' + school)==》输出结构为构造函数——function VueComponent (options) {}

总结:VueComponent

  1. school组件本质上是一个名为VueComponet的构造函数,且不是程序员定义的,是Vue.extend生成的。
  2. 我们只需要写<school/>或<school><school/>,Vue解析时会帮助我们创建school组件的实例对象。即Vue绑我们执行的 new VueComponet(options)
  3. 特别注意:每次调用Vue.extend,返回的都是一个全新的VueComponet
  4. 关于this指向
    • 组件配置中:data函数、methods中的函数、watch中的函数、computed中的函数--它们的this均是:VueComponet实例对象
    • new Vue()配置中:data函数、methods中的函数、watch中的函数、computed中的函数--它们的this均是Vue实例对象
  5. VueComponet的实例对象,以后简称vc(也可称之为--组件实例对象)、Vue的实例对象,简称vm。

示例二:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>VueComponent</title>
  <script type="text/javascript" src="../../Js/vue.js"></script>
</head>

<body>
  <div id="root">
    <school></school>
    <hello></hello>
  </div>
</body>

</html>
<script type="text/javascript">
  Vue.config.productionTip = false
  // ----------------------创建组件----------------------
  const school = Vue.extend({
    name: 'school',
    template:
      '<div>'
      + ' <h3>学校名称:{{schoolName}}</h3>'
      + ' <h3> 学校地址:{{ schoolAddress }}</h3>'
      + '</div>',
    data () {
      return {
        schoolName: '希望小学',
        schoolAddress: '西安/110号/希望小学',
      }
    },
    methods: {
      showInfo () {
        alert(this.schoolName + '/' + this.schoolAddress)
      }
    }
  })

  console.log('school组件类型==》' + school)
  /*   输出结果如下所示:
    function VueComponent (options) {
        this._init(options); */


  const hello = Vue.extend({
    template: '<h3>{{msg}}</h3>',
    data () {
      return {
        msg: 'msg你好啊'
      }
    }
  })

  console.log('hello组件类型==>' + hello)

  new Vue({
    el: '#root',
    components: {
      school,
      hello,

    }

  })

</script>

 

  

 

 

 

 

 

  

 

标签:school,Vue,schoolName,--,VueComponent,schoolAddress,组件,构造函数
From: https://www.cnblogs.com/YYkun/p/18057369

相关文章

  • 2024年上学期-开课博客
    我是信2205-1班,牟兆迪。在高考过后,来到了石家庄铁道大学,大一整个学年体会到了学习的轻松和大学生活的快乐,在大二的专业分流我选择了软件工程专业,选择了相信主任,相信自己。我认为,我是一个比较懒散的人,需要有他人的督促甚至是鞭策才能不断激发自己的潜能,让自己不至于浑浑噩噩的过完......
  • 标准日本语——第8课单词
    第8课单词プレゼント(present)礼物~をもらいました ~をあげます       チケット(ticket)票記念品(きねんひん)纪念品花(はな)花チョコレート(choco......
  • 20240306打卡
    第二周第一天第二天第三天第四天第五天第六天第七天所花时间1h5h1h代码量(行)7011662博客量(篇)111知识点了解学会详细地全局路由配置有关动态规划算法python基础知识使用今天打卡主要是对于昨天建民老师讲课的回顾总结。首......
  • 链式前向星封装版
    类-链式前向星(封装)by橙之夏Codestructforstar{vector<int>_h,_e,_ne,_w;intidx=0;forstar(intn)//初始化,n为容量{_h.resize(n+1,-1),_e.resize(n+1),_ne.resize(n+1),_w.resize(n+1);}voidadd(inta,in......
  • 235. 二叉搜索树的最近公共祖先c
     /***Definitionforabinarytreenode.*structTreeNode{*intval;*structTreeNode*left;*structTreeNode*right;*};*/structTreeNode*preorder(structTreeNode*root,structTreeNode*p,structTreeNode*q){if(!root)r......
  • Codeforces Round 931div2补题
    B.YetAnotherCoinProblem真[https://www.bilibili.com/video/BV1o2421M7pV/]不同硬币之间有倍数关系,使得一定数量后的小硬币可以被大硬币替代达到最优方案,而每个小硬币在最优下有可能的数量如下,进行枚举后找到最优方案。1:不多于2个(3个1会被3替代)3:不多于一个(2个3......
  • 给虚拟机配置ip
    给虚拟机配置ip添加网卡明白自己的需求如果是ping通主机ip那么使用仅主机网卡就足够如果需要ping外网(类似与百度之类的)则需要使用nat网卡如图:添加的网络适配器顺序不固定,知道自己网络适配器对应的网卡(类似ens34)即可查看网卡配置文件nat网卡配置文件仅主机网卡配置......
  • Day03---Web前端基础
    JavaScript的使用Javascript的定义JavaScript是运行在浏览器端的脚步语言,是由浏览器解释执行的,简称js,它能够让网页和用户有交互功能,增加良好的用户体验效果。前端开发三大块1、HTML:负责网页结构2、CSS:负责网页样式3、JavaScript:负责网页行为,比如:网页与用户的交互......
  • 小程序管理平台,企业研发效能提升利器
    微信小程序生态近年来发展迅猛,已成为中国互联网不可忽视的力量。截至2023年6月,微信小程序数量已超过300万,同比增长25%,涵盖了电商、生活服务、教育、金融等众多行业。微信小程序内容生态已经日趋完善,并满足各领域用户的多样化需求。 与此同时,小程序凭借其开发成本低、运行效......
  • 关于debezium。kafka和sqlserver的数据同步
    直接在官网下载sqlserver的插件。DebeziumReleaseSeries2.5 下载完后将这个插件解压到linux里面。路径其实是无所谓的,我在kafka目录下,创建了一个connect目录,专门放置这些插件 然后去kafka的config目录下,修改connect-distributed.properties文件主要修改这几个点:kafka......