【零基础入门VUE】VueJS - 实例

面向读者:所有人

所属专栏:零基础入门VUE专栏https://blog.csdn.net/arthas777/category_12537076.html

目录

句法

vue_instance.js

输出

例子

输出

实施例1

实施例2

例子

例子


要开始使用 VueJS,我们需要创建 Vue 实例,称为根 Vue 实例

句法

var app = new Vue({// options
})

让我们看一个示例来了解 Vue 构造函数中需要包含哪些内容。

<html><head><title>VueJs Instance</title><script type = "text/javascript" src = "js/vue.js"></script></head><body><div id = "vue_det"><h1>Firstname : {{firstname}}</h1><h1>Lastname : {{lastname}}</h1><h1>{{mydetails()}}</h1></div><script type = "text/javascript" src = "js/vue_instance.js"></script></body>
</html>

vue_instance.js

var  vm = new Vue({el: '#vue_det',data: {firstname : "Ria",lastname  : "Singh",address    : "Mumbai"},methods: {mydetails : function() {return "I am "+this.firstname +" "+ this.lastname;}}
})

对于 Vue,有一个名为el的参数。它采用 DOM 元素的 id。在上面的示例中,我们有 id #vue_det。它是 div 元素的 id,存在于 .html 中。

<div id = "vue_det"></div>

现在,我们要做的任何事情都会影响 div 元素,而不会影响它之外的任何内容。

接下来,我们定义了数据对象。它具有值名字、姓氏和地址。

div 内部也分配了相同的值。例如,

<div id = "vue_det"><h1>Firstname : {{firstname}}</h1><h1>Lastname : {{lastname}}</h1>
</div>

Firstname : {{firstname}} 值将在插值内替换,即 {{}} 替换为数据对象中分配的值,即 Ria。姓氏也是如此。

接下来,我们在方法中定义了函数 mydetails 和返回值。它在 div 内部被分配为

<h1>{{mydetails()}}</h1>

因此,在 {{} } 内部调用了函数 mydetails。Vue 实例中返回的值将打印在 {{}} 中。检查输出以供参考。

输出

Vue实例

现在,我们需要将选项传递给 Vue 构造函数,主要是数据、模板、要挂载的元素、方法、回调等。

让我们看一下传递给 Vue 的选项。

#data - 这种类型的数据可以是对象或函数。Vue 将其属性转换为 getter/setter 以使其具有响应性。

我们来看看选项中数据是如何传递的。

例子

<html><head><title>VueJs Introduction</title><script type = "text/javascript" src = "js/vue.js"></script></head><body><script type = "text/javascript">var _obj = { fname: "Raj", lname: "Singh"}// direct instance creationvar vm = new Vue({data: _obj});console.log(vm.fname);console.log(vm.$data);console.log(vm.$data.fname);</script></body>
</html>

输出

筛选

console.log(vm.fname); // 打印拉杰

console.log(vm.$data); 打印完整的对象,如上所示

console.log(vm.$data.fname); // 打印拉吉

如果有组件,则必须从函数引用数据对象,如以下代码所示。

<html><head><title>VueJs Introduction</title><script type = "text/javascript" src = "js/vue.js"></script></head><body><script type = "text/javascript">var _obj = { fname: "Raj", lname: "Singh"};// direct instance creationvar vm = new Vue({data: _obj});console.log(vm.fname);console.log(vm.$data);console.log(vm.$data.fname);// must use function when in Vue.extend()var Component = Vue.extend({data: function () {return _obj}});var myComponentInstance = new Component();console.log(myComponentInstance.lname);console.log(myComponentInstance.$data);</script></body>
</html>

对于组件来说,数据是一个函数,它与 Vue.extend 一起使用,如上所示。数据是一个函数。例如,

data: function () {return _obj
}

要引用组件中的数据,我们需要创建它的实例。例如,

var myComponentInstance = new Component();

要从数据中获取详细信息,我们需要执行与上面父组件相同的操作。例如。

console.log(myComponentInstance.lname);
console.log(myComponentInstance.$data);

以下是浏览器中显示的详细信息。

安慰

Props - props 的类型是字符串或对象的数组。它采用基于数组或基于对象的语法。据说它们是用于从父组件接受数据的属性。

实施例1

Vue.component('props-demo-simple', {props: ['size', 'myMessage']
})

实施例2

Vue.component('props-demo-advanced', {props: {// just type checkheight: Number,// type check plus other validationsage: {type: Number,default: 0,required: true,validator: function (value) {return value >= 0}}}
})

propsData - 用于单元测试。

类型- 字符串数组。例如,{ [key: string]: 任意 }。在创建Vue实例时需要传递它。

例子

var Comp = Vue.extend({props: ['msg'],template: '<div>{{ msg }}</div>'
})
var vm = new Comp({propsData: {msg: 'hello'}
})

计算- 类型:{ [key: string]: Function | { 获取:函数,设置:函数 } }

例子

<html><head><title>VueJs Introduction</title><script type = "text/javascript" src = "js/vue.js"></script></head><body><script type = "text/javascript">var vm = new Vue({data: { a: 2 },computed: {// get only, just need a functionaSum: function () {return this.a + 2;},// both get and setaSquare: {get: function () {return this.a*this.a;},set: function (v) {this.a = v*2;}}}})console.log(vm.aSquare);  // -> 4vm.aSquare = 3;console.log(vm.a);       // -> 6console.log(vm.aSum); // -> 8</script></body>
</html>

Computed 有两个函数aSumaSquare

函数 aSum 仅返回this.a+2。函数 aSquare 又是两个函数getset

变量 vm 是 Vue 的一个实例,它调用 aSquare 和 aSum。另外 vm.aSquare = 3 从 aSquare 调用 set 函数,并且 vm.aSquare 调用 get 函数。我们可以在浏览器中检查输出,如下图所示。

Vue实例

方法- 方法将包含在 Vue 实例中,如以下代码所示。我们可以使用 Vue 对象访问该函数。

<html><head><title>VueJs Introduction</title><script type = "text/javascript" src = "js/vue.js"></script></head><body><script type = "text/javascript">var vm = new Vue({data: { a: 5 },methods: {asquare: function () {this.a *= this.a;}}})vm.asquare();console.log(vm.a); // 25</script></body>
</html>

方法是 Vue 构造函数的一部分。让我们使用 Vue 对象vm.asquare ()调用该方法,属性a的值在asquare函数中更新。a 的值从 1 更改为 25,在以下浏览器控制台中也可以看到同样的情况。

平方函数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/305905.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

神经网络常用模型总结

本文目录&#xff1a; 【一】目标检测中IOU的相关概念与计算【二】目标检测中NMS的相关概念与计算【三】One-stage目标检测与Two-stage目标检测的区别&#xff1f;【四】哪些方法可以提升小目标检测的效果&#xff1f;【五】ResNet模型的特点以及解决的问题&#xff1f;【六】R…

【C语言】数据结构——排序(一)

&#x1f497;个人主页&#x1f497; ⭐个人专栏——数据结构学习⭐ &#x1f4ab;点击关注&#x1f929;一起学习C语言&#x1f4af;&#x1f4ab; 目录 导读&#xff1a;数组打印与交换1. 插入排序1.1 直接插入排序1.1.1 基本思想1.1.2 实现代码1.1.3 图解 1.2 希尔排序1.2.1…

刺猬目标检测数据集VOC格式500张

刺猬是一种可爱的小型哺乳动物&#xff0c;被广泛分布在欧洲、亚洲、非洲和新西兰等地的草地、森林、灌木丛以及城市郊区等地方。刺猬的身体被短而密的刺毛所覆盖&#xff0c;这些刺毛是其最具特征性的外观特征&#xff0c;也是为了自我保护而设计的武器。 刺猬主要以昆虫、蠕…

手机/平板实现电脑第三屏-记录极简

软件&#xff1a; 手机 平板 : moonlight 电脑&#xff1a; 1 KtzeAbyss/Easy-Virtual-Display 2 Parsec Virtual Display Driver https://builds.parsec.app/vdd/parsec-vdd-0.38.0.0.exe 3 LizardByte/Sunshine: Self-hosted game stream host for Moonlight. (gith…

鸿蒙原生应用再添新丁!搜狐集团、航旅纵横入局鸿蒙

鸿蒙原生应用再添新丁&#xff01;搜狐集团、航旅纵横入局鸿蒙 来自 HarmonyOS 微博12月28日消息&#xff0c;搜狐集团宣布与华为达成全面合作&#xff01;搜狐新闻近期将完成#鸿蒙原生应用#核心功能版本&#xff0c;搜狐视频也启动了#鸿蒙原生应用#开发&#xff01;这不仅是一…

Grafana Loki 组件介绍

Loki 日志系统由以下3个部分组成&#xff1a; Loki是主服务器&#xff0c;负责存储日志和处理查询。Promtail是专为loki定制的代理&#xff0c;负责收集日志并将其发送给 loki 。Grafana用于 UI展示。 Distributor Distributor 是客户端连接的组件&#xff0c;用于收集日志…

学习STM32获取相关资料的官方网站

ARM公司官网 Building the Future of Computing – ArmTogether with its vast ecosystem, Arm technology is changing the world again, building the future of computing and bringing ideas to life.https://www.arm.com/STM32单片机是ARM公司开发的基于Cortex-M架构的内…

[BUG] Hadoop-3.3.4集群yarn管理页面子队列不显示任务

1.问题描述 使用yarn调度任务时&#xff0c;在CapacityScheduler页面上单击叶队列&#xff08;或子队列&#xff09;时&#xff0c;不会显示应用程序任务信息&#xff0c;root队列可以显示任务。此外&#xff0c;FairScheduler页面是正常的。 No matching records found2.原…

Python入门-字符串Str

字符串 字符串 是Python中的 不可变 数据类型 1.字符串相关处理方法 大小写转换 # 大小写转换 s1HelloWorld new_s2s1.lower() print(s1,new_s2)new_s3s1.upper() print(new_s3)结果&#xff1a; D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap6\示例6-1字符…

西北大学844计算机类考研-25级初试高分总攻略

西北大学844计算机类考研-25级初试高分攻略 个人介绍 ​ 本人是西北大学22级软件工程研究生&#xff0c;考研专业课129分&#xff0c;过去一年里在各大辅导机构任职&#xff0c;辅导考研学生专业课844&#xff0c;辅导总时长达400小时&#xff0c;辅导学生超过20余人&#xf…

一文入门Qt Quick

以下内容为本人的著作&#xff0c;如需要转载&#xff0c;请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/dvamU6q5lZQb5hztfD2zNg 初识Qt Quick 很高兴可以来到这一章&#xff0c;终于可以开始讲讲最近几年Qt的热门技术Quick这一块了。 啥是Qt&#xff1…

阿里云30个公共云地域、89个可用区、5个金融云和政务云地域

阿里云基础设施目前已面向全球四大洲&#xff0c;公共云地域开服运营30个公共云地域、89个可用区&#xff0c;此外还拥有5个金融云、政务云地域&#xff0c;并且致力于持续的新地域规划和建设&#xff0c;从而更好的满足用户多样化的业务和场景需求。伴随着基础设施的加速投入和…