首页 > 其他分享 >Vue学习笔记37--内置关系

Vue学习笔记37--内置关系

时间:2024-03-07 11:36:58浏览次数:27  
标签:__ Vue proto -- Demo 37 .__ prototype

示例一:

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

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>一个重要的内置关系</title>
  <script type="text/javascript" src="../../Js/vue.js"></script>
</head>

<body>
  <div id="root">

  </div>
</body>

</html>
<script type="text/javascript">
  Vue.config.productionTip = false

  // 定义一个构造函数
  function Demo () {
    this.a = 1
    this.b = 1
  }
  // 创建一个Demo实例对象
  const demo = new Demo();
  //prototype 显示原型属性
  console.log('显示原型属性==>', Demo.prototype)
  //__proto__ 隐式原型属性,注:下划线为两个
  console.log('隐式原型属性==>', demo.__proto__)

  // 程序员通过显示原型属性操作原型对象,追加一个x属性
  Demo.prototype.x = 100
  console.log('x==>' + demo.__proto__.x) //等价于以下写法
  console.log('x==>' + demo.x)
  console.log('demo.__proto__==Demo.prototype??', Demo.prototype === demo.__proto__)

  const vm = new Vue({
    el: '#root',
    data: {
      isHot: true,
    },

    methods: {
      changeWeather () {
        this.isHot = !this.isHot
      },
    },
  })
</script>

总结:

  1. 一个重要的内置关系:VueComponent.prototype.__proto__===Vue.prototype
  2. 为什么要有这个关系:让组件实例对象(vc)可以访问到Vue原型上的属性、方法
    • 注:组件实例对象vc,和Vue不完全一致,不能有el,data只能写为方法

 示例二:

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

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>一个重要的内置关系</title>
  <script type="text/javascript" src="../../Js/vue.js"></script>
</head>

<body>
  <div id="root">
    <h3>
      1.一个重要的内置关系:VueComponent.prototype.__proto__===Vue.prototype <br><br>
      2.为什么要有这个关系:让组件实例对象(vc)可以访问到Vue原型上的属性、方法<br><br>
    </h3>
  </div>
</body>

</html>
<script type="text/javascript">
  Vue.config.productionTip = false

  /*  // 定义一个构造函数
   function Demo () {
     this.a = 1
     this.b = 1
   }
   // 创建一个Demo实例对象
   const demo = new Demo();
   //prototype 显示原型属性
   console.log('显示原型属性==>', Demo.prototype)
   //__proto__ 隐式原型属性,注:下划线为两个
   console.log('隐式原型属性==>', demo.__proto__)
 
   // 程序员通过显示原型属性操作原型对象,追加一个x属性
   Demo.prototype.x = 100
   console.log('x==>' + demo.__proto__.x) //等价于以下写法
   console.log('x==>' + demo.x)
   console.log('demo.__proto__==Demo.prototype??', Demo.prototype === demo.__proto__)
  */


  const school = Vue.extend({
    name: 'school',
    template:
      '<div>'
      + ' <h3>学校名称:{{schoolName}}</h3>'
      + ' <h3> 学校地址:{{ schoolAddress }}</h3>'
      + '</div>',
    data () {
      return {
        schoolName: '希望小学',
        schoolAddress: '西安/110号/希望小学',
      }
    },
  })

  const vm = new Vue({
    el: '#root',
    data: {
      msg: '你好vue',
    },

  })
  // 一个重要的内置关系:VueComponent.prototype.__proto__ === Vue.prototype
  console.log('school.prototype.__proto__===Vue.prototype', school.prototype.__proto__ === Vue.prototype)

</script>

  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

标签:__,Vue,proto,--,Demo,37,.__,prototype
From: https://www.cnblogs.com/YYkun/p/18058405

相关文章

  • 类内的静态成员函数
    A-LOAM代码中,用ceres构建优化问题时,有如下代码structLidarEdgeFactor{ LidarEdgeFactor(Eigen::Vector3dcurr_point_,Eigen::Vector3dlast_point_a_, Eigen::Vector3dlast_point_b_,doubles_) :curr_point(curr_point_),last_point_a(last_point_a_),last_poi......
  • nginx四层和七层负载的配置
    四层负载和七层负载是两种不同类型的负载均衡策略,它们分别在网络的不同层次上工作。在Nginx中,这两种负载均衡策略可以通过配置nginx.conf文件来实现。四层负载(L4LoadBalancing)四层负载,也称为传输层负载均衡,主要在网络模型的第四层(传输层)上工作。它处理TCP/UDP协议的流量,并根据......
  • 为什么现在连Date类都不建议使用了?
    一、有什么问题吗java.util.Date?java.util.Date(Date从现在开始)是一个糟糕的类型,这解释了为什么它的大部分内容在Java1.1中被弃用(但不幸的是仍在使用)。设计缺陷包括:它的名称具有误导性:它并不代表一个日期,而是代表时间的一个瞬间。所以它应该被称为Instant——正如它的java.t......
  • 重新思考,如何搭建一套简易高效的隧道代理
    近期上线了基于http的隧道代理api业务,核心目标只有一个,就是用最简单的方式去灵活应对不同的代理使用场景。有隧道代理需求可直接阅读使用文档,本文主要介绍为什么要推出这样一款基于api的隧道代理服务。也欢迎大家关注iDataRiver平台https://idatariver.com/zh-cn,将会持续供应......
  • 淘宝详情api接口的应用
    淘宝详情API接口是一个基于HTTP协议的接口服务,可用于获取淘宝商品的具体信息。下面将介绍如何调用淘宝详情API接口获取淘宝商品数据的步骤。1.注册账号并创建应用首先,我们需要进行账号注册、实名认证和创建应用。通过创建应用,我们可以获取到一个appkey和appsecret,这是调用API接......
  • 【已解决】[图文步骤] message from server: “Host ‘172.17.0.1‘ is not allowed t
    写于2024.03.07北京.朝阳@目录报错信息环境现场解决方案步骤:成功最后报错信息先看看和你的报错一样不一样null,messagefromserver:"Host'172.17.0.1'isnotallowedtoconnecttothisMySQLserver"环境现场mac电脑使用docker部署了一个mysql。docker......
  • SpringBoot使用外部Web容器的解决方案
    SpringBoot默认内嵌了Web容器(如Tomcat、Jetty或Undertow),这使得应用可以作为独立的可执行JAR或WAR文件运行,无需外部Web容器。然而,在某些情况下,你可能想要将SpringBoot应用部署到外部的Web容器中,比如ApacheTomcat或Jetty。嵌入式的Web容器:应用可以打包成可执行的Jar。优点:简单......
  • 使用gzip命令解压gz日志文件报错:Permission denied[admin@test logs]
    【问题描述】 使用gzip命令解压gz日志文件报错:Permissiondenied[admin@testlogs] 使用sudochmode-R777给目录添加编辑权限,需要输入admin的密码,不是admin账号也添加不了。  【解决方法】使用sudogunzip命令就可以正常解压了。BYW:下载日志文件命令使用szinfo.......
  • 第二章投资技术《第三节 K线秘籍》
    1.k线包含一切k线是加密数据,但k线已经反映了当下对交易产生影响的所有市场信息k线永远是正在进行时看懂最简单的k线+macd就足以应付市场上的大部分情况了2.要看连续几根k线的位置关系比较k线与k线之间的位置关系k线的相对位置关系是降低的,市场偏空k线的相对位置关系是升......
  • Python根据坐标半径生成测试点数据
    一、代码#-*-coding:UTF-8-*-importcsvimportrandomimportmathimportdatetimefromfakerimportFaker#定义语言faker_data=Faker(locale='zh_CN')#获取当前时间current_time=datetime.datetime.now()#格式化时间formatted_time=current_time.strft......