当前位置: 首页 > news >正文

【Vue】Vue快速入门

Vue快速入门

Vue.js的引入

要先有一个vue.js文件,可以在vue官网下载,将其复制到项目中并在html页面中进行引入:

在head标签内引入,src内是vue的路径

<!--    引入vue.js--><script language="JavaScript" src="xxxxxxxxx/vue.js"></script>

Vue的js语法要写在head标签下的下面这个标签内:

下面代码实现了一个简单的alert hello功能

<!--    Vue的js可以写在这里--><script language="JavaScript">function hello() {person.sayHello();}var person = new Object();person.pid="p001";person.pname="jim";person.sayHello = function(){alert("Hello World");}<!--        在窗口加载时触发下面方法-->window.onload=function(){// 存储一个个键值对,注意花括号在里面var vue = new Vue({});}</script>

Vue中对象的定义

可以向下面这样使用等式的方式直接进行定义与赋值

一个person对象的定义与赋值

        var person = new Object();person.pid="p001";person.pname="jim";person.sayHello = function(){alert("Hello World");}

也可以像下面这样定义:

        //对象定义的另一种方式,注意花括号后有分号,以逗号分割,最后一个属性不带逗号var person = {"pid" : "p001","pname" : "jim","sayHello" : function() {alert("Hello World");}};

Vue中文本的显示

在vue的语法中定义window.onload中定义var vue = new Vue({})并在其中进行定义:

<head><meta charset="UTF-8"><title>Title</title><script language="JavaScript" src="../script/vue.js"></script><script language="JavaScript">window.onload=function(){var vue = new Vue({"el" : "#div0",data : {msg : "hello!!!",uname : "请输入"}});}</script>
</head>
<body>
<div id="div0"><span>{{msg}}</span><input type="text" v-bind:value="uname" />
</div>
</body>

v-if、v-else、v-show可以控制标签的显示

<div id="div0"><input type="text" v-model:value="num" />
<!--    v-if实现简单的成立就显示v-else表示不成立就显示(否则的意思)成对出现,中间不能有任何语句
--><div v-if="num%2==0" style="width:200px;height:200px;background-color: chartreuse">&nbsp;</div>
<!--    这里不能有任何语句--><div v-else="num%2==0" style="width:200px;height:200px;background-color: coral">&nbsp;</div><!--    v-show也有v-if的效果,但其在语句不成立时会在后面添加display="none"即不显示语句而v-if则会直接将语句不生效(看起来和删除一样)
--><div v-show="num%2==0" style="width:200px;height:200px;background-color: cornflowerblue">&nbsp;</div>
</div>

v-on:click可以实现点击后方法的调用

    <script language="JavaScript">
<!--        在初始化窗口时的做法-->window.onload=function(){var vue = new Vue({"el" : "#div0",data : {msg : "hello world"},//vue中的方法写在这里methods : {// 将字符串反转的方法示例myReverse : function() {//将字符串全部拿出来,反转再拼接this.msg = this.msg.split("").reverse().join("");}}});}</script>
</head>
<body>
<div id="div0"><span>{{msg}}</span>
<!--    点击后调用myReverse方法--><input type="button" value="反转" v-on:click="myReverse" /><!--    也可以这么写--><input type="button" value="反转" @click="myReverse" />
</div>
</body>

侦听

侦听标签,当某个属性发生变化时,自动执行某个方法

//侦听,当其中的属性放生变化时,执行对应的方法
watch : {num1:function(newValue) {this.num3 = parseInt(this.num2) + parseInt(newValue);},num2:function(newValue) {this.num3 = parseInt(this.num1) + parseInt(newValue);}
}...<div id="div0"><input type="text" v-model="num1" size="2" />+<input type="text" v-model="num2" size="2" />=<span>{{num3}}</span>
</div>

对象加载时间的方法调用:

    <script language="JavaScript" src="../script/vue.js"></script><script language="JavaScript">
<!--        在初始化窗口时的做法-->window.onload=function(){var vue = new Vue({"el" : "#div0",data : {msg : "h1"},methods : {changeMsg : function() {this.msg = "hello world";}},/* vue对象创建之前 */beforeCreate:function(){console.log("beforeCreate:Vue对象创建之前..............");//vue对象创建之前,msg属性还没有创建console.log("msg:" + this.msg);},/* vue对象创建之后 */created:function() {console.log("Created:Vue对象创建之后..............");//vue对象创建之后,msg属性被创建并赋值了console.log("msg:" + this.msg);},/* 数据装载之前,意思是数据还没有显示在页面上时 */beforeMount:function() {console.log("Create:数据装载之前.....................");/* 获取span内部的数据 */console.log("msg:" + document.getElementById("span").innerText);},/* 数据装载之后 */mounted:function() {console.log("Mounted:数据装载之后。。。。。。。。。。。。。。。");console.log("msg:" + document.getElementById("span").innerText);},/** 以下两个时间的方法只有在数据被改变之后才会调用* *//* 数据更新之前 */beforeUpdate : function() {console.log("数据更新之前...............................");console.log("msg:" + this.msg);console.log("msg:" + document.getElementById("span").innerText);},/* 数据更新之后 */updated : function() {console.log("数据更新之后...............................");console.log("msg:" + this.msg);console.log("msg:" + document.getElementById("span").innerText);}});}</script>
</head>
<body>
<div id="div0"><span id="span">{{msg}}</span><input type="button" value="改变" @click="changeMsg" />
</div>
</body>

浏览器控制台的输出如下:

Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools
vue.js:9330 You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:22 beforeCreate:Vue对象创建之前..............
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:24 msg:undefined
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:29 Created:Vue对象创建之后..............
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:31 msg:h1
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:36 Create:数据装载之前.....................
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:38 msg:{{msg}}
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:43 Mounted:数据装载之后。。。。。。。。。。。。。。。
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:44 msg:h1
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:49 数据更新之前...............................
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:50 msg:hello world
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:51 msg:h1
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:56 数据更新之后...............................
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:57 msg:hello world
demo07.html?_ijt=g1hbsg8c7bsaafas74jk3juslf:58 msg:hello world
http://www.lryc.cn/news/66183.html

相关文章:

  • 二本菜鸡,颓废两年的自我救赎
  • Spring boot 常用注解
  • mysql从零开始(05)----锁
  • 《Linux 内核设计与实现》03. 进程管理
  • 深入探究HDFS:高可靠、高可扩展、高吞吐量的分布式文件系统【上进小菜猪大数据系列】
  • GIMP制作艺术字技巧
  • Redis 布隆过滤器总结
  • 云基础设施安全:7个保护敏感数据的最佳实践
  • centos7安装nginx
  • PyQt5 基础篇(一)-- 安装与环境配置
  • Java—JDK8新特性—函数式接口【内含思维导图】
  • 【MySQL】外键约束和外键策略
  • 3. SQL底层执行原理详解
  • Bus动态刷新
  • 逆波兰式的写法
  • Linux系统日志介绍
  • 第三十二章 React路由组件的简单使用
  • “裸奔”时代下,我们该如何保护网络隐私?
  • c#笔记-方法
  • 054、牛客网算法面试必刷TOP101--堆/栈/队列(230509)
  • 怎么让chatGTP写论文-chatGTP写论文工具
  • springboot 断点上传、续传、秒传实现
  • 2023河南省赛vp题解
  • 港科夜闻|香港科大与香港资管通有限公司签署校企合作备忘录,成立校企合作基金促科研成果落地...
  • Neo4j 笔记
  • 数据库基础应用——概念模型
  • 【学姐面试宝典】前端基础篇Ⅴ——JS深浅拷贝、箭头函数、事件监听等
  • 最新研究,GPT-4暴露了缺点!无法完全理解语言歧义!
  • 商业数据挖掘-第一章-数据探索式分析-1
  • MybatisPlus是否防止SQL注入?