Vue.js常用的语法(一)

2023-11-16

    在一个html文件中,我们直接可以通过script标签引入Vue.js,然后就可以在页面里写Vue.js代码了。我们通过new Vue()构建了一个Vue的实例。

html文件:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>pejeco</title>
</head>
<body>
	<div id="app">
		<p>{{a}}</p>
	</div>
<script src="js/vue.js"></script>
<script src="js/app.js"></script>
</body>
</html>

app.js


var app = new Vue({
	el: '#app',
	data: {
		a: 1
	},
	created: function () {
		// `this` 指向 vm 实例
		console.log('a is: ' + this.a)
	},
	methods:{
		doSomething:function(){
			this.a++;
			console.log(a)
		}
	},
	watch:{
		'a':function(val,oldVal){
			console.log(val,oldVal)
		}
	}
});
一.Vue实例初始化的选项配置对象详解

首先双大括号("{{}}")会将数据解释为纯文本,而非html。

(1)el表明我们的Vue需要操作哪一个元素下的区域,'#app'表示操作id为app的元素下区域。
(2)data

表示Vue 实例的数据对象,data 的属性能够响应数据的变化。是Vue的核心属性,是Vue绑定数据到HTML标签的数据源泉,另外Vue框架会自动监视data里面的数据变化,自动更新数据到HTML标签上去。

       A.data对象的类型:
   
          a. 类型是Object或者Function。
   
          b.如果是组件对象中,data必须是Function类型。【后面学了组件后就明白了,暂时对组件先放放。】

      B.data的事列

            a.创建普通事列


var vm = new Vue({
  data: data
})
//或是
var vm = new Vue({
  data: {
	a:1,
	b:[]
  }
})

          b.组件定义

Vue.extend() 中 data 必须是函数 
var Component = Vue.extend({
  data: function () {
  //这里必须是函数!!!
    return { a: 1 }
  }
})

(3)created表示实例生命周期中创建完成的那一步,当实例已经创建完成之后将调用其方法。

(4).methods :vue对象方法

类型: { [key: string]: Function }

methods 将被混入到 Vue 实例中。可以直接通过 VM 实例访问这些方法,或者在指令表达式中使用。方法中的 this 自动绑定为 Vue 实例。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
</head>
<body >
<div id="cnt">{{a}}</div>
<script src="js/vue.js"></script>
<script>
var app = new Vue({
	el: '#cnt',
	data: {
		a: 1
	},
	methods:{
		doSomething:function(){
			this.a++;
		}
	}
});
app.doSomething();
</script>
</body>
</html>
输出的值为2.


(5).watch:设置对象监听的方法

类型:{ [key: string]: string | Function | Object }

一个对象,键是需要观察的表达式,值是对应回调函数。值也可以是方法名,或者包含选项的对象。Vue 实例将会在实例化时调用 $watch(),遍历 watch 对象的每一个属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>vue</title>
</head>
<body >
<div id="cnt">{{a}}</div>
<script src="js/vue.js"></script>
<script>
var app = new Vue({
	el: '#cnt',
	data: {
		a: 1,
		b:2,
		c:3
	},
	watch: {
	    // 监控a变量变化的时候,自动执行此函数
	    a: function (val, oldVal) {
	      	console.log('new: %s, old: %s', val, oldVal)
	    },
	    // 深度 watcher
	    c: {
	      	handler: function (val, oldVal) { },
	      	deep: true
	    }
	}
});
app.a=2;
</script>
</body>
</html>

(6).computed :放的是一些业务逻辑代码,一定要记得return

Vue的计算属性(computed)的属性会自动混入Vue的实例中。所有 getter 和 setter 的 this 上下文自动地绑定为 Vue 实例。这就很强大了,再计算属性中定义的函数里面可以直接使用指向了vue实例的this,异常方便的啊

类型: 键:函数} { [key: string]: Function | { get: Function, set: Function } }

       当然,可以省略setter,如果省略了setter,那么值就可以是普通函数,但是必须有返回值。

Vue.js学习笔记:计算属性

二.Vue.js常用指令

指令带有前缀 v-,以表示它们是 Vue 提供的特殊属性;当其表达式的值改变时相应地将某些行为应用到 DOM 上。     

      在Vue项目的开发中,我们使用的最多的应该就属Vue的指令了。通过Vue提供的常用指令,我们可以淋漓尽致地发挥Vue数据驱动的强大功能。以下便是图中常用指令的简单介绍:

(1)数据的渲染:v-text,v-html, {{}}

v-text: 用于更新绑定元素中的内容,类似于jQuery的text()方法

v-html: 用于更新绑定元素中的html内容,类似于jQuery的html()方法

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>v-html与v-text的区别</title>
</head>
<body >
<div id="cnt">
	<div v-html="showHTML"></div>
	<div v-text="showText"></div> 	
</div>
<script src="js/vue.js"></script>
<script>
    var ve=new Vue({
        el:'#cnt',
        data:{
            showHTML:'<p><i>v-html:HTML标签将会不会显示,并且文本将会按照标签类型显示</i></p>',
            showText:'<p>v-text:这里我们输出纯文本,HTML标签将会在浏览器上显示</p>'
        }
    })
</script>
</body>
</html>

(3)控制模块的隐藏:v-if,v-show

v-if: 用于根据表达式的值的真假条件渲染元素,可以在 Vue 插入/删除元素时自动应用过渡效果。

v-show: 用于根据表达式的值的真假条件显示隐藏元素,切换元素的 display CSS 属性

 Vue.js学习笔记:v-if条件渲染与v-show区别

(5)渲染循环列表:v-for

v-for: 用于遍历数据渲染元素或模板Vue.js学习笔记:v-for循环

(6)事件绑定:v-on

v-on: 用于在元素上绑定事件Vue.js学习笔记:v-no绑定事件

(7)属性绑定:v-bing

v-bind:属性绑定  查看解释说明Vue.js学习笔记:属性绑定 v-bind

 (8)数据绑定:v-model

v-model:用于表单输入与应用状态的双向数据绑定

Vue.js学习笔记:v-model双向绑定

简单的理解就是:

<P>model双向绑定:就是当input输入的值改变的时候,调用这个input绑定的model的值也改变</P>
<P><input type="text" v-model="model_data"> <br/>  文本输入的值:{{model_data}}</P>

 (9)v-pre

跳过瓷元素及其子元素,跳过大量没有指令的节点加快编译速度。 

  (10)v-cloak

官方文档:该属性保留在元素上,直到关联的ViewModel完成编译。结合CSS规则,例如[v-cloak] { display: none },该指令可用于隐藏未编译的胡须绑定,直到ViewModel准备好。

在vm未加载之前,html中的插值会存在,影响页面美观。在元素上添加v-cloak并在css中写入[v-cloak]{display:none;},vm加载之前,该元素一直隐藏,v-cloak指令存在,vm加载之后,元素显示,v-cloak指令消失

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
    <style>
        [v-cloak]{display: none;}
    </style>
</head>
<body>
    <div v-cloak>{{message}}</div>
</body>
</html>

  (11)v-once

由于p标签有了初始值,第一次渲染时Input 和p都有内容,我们给p加了v-once之后,我们再更新mg的值时,p标签不会发生改变


once顾名思义,一次,也可以加给点击事件,默认只能点击一次


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue.js常用的语法(一) 的相关文章

  • 常用的大数据技术有哪些?

    大数据技术为决策提供依据 在政府 企业 科研项目等决策中扮演着重要的角色 在社会治理和企业管理中起到了不容忽视的作用 很多国家 如中国 美国以及欧盟等都已将大数据列入国家发展战略 微软 谷歌 百度以及亚马逊等大型企业也将大数据技术列为未来发
  • Kafka Producer 发送数据

    Kafka Producer 发送数据 1 生产者概览 1 不同的应用场景对消息有不同的需求 即是否允许消息丢失 重复 延迟以及吞吐量的要求 不同场景对Kafka生产者的API使用和配置会有直接的影响 2 Kafka发送消息的主要步骤 消息
  • 配置 RT-Thread 的工程目录

    1 前言 RT Thread 基于 Scons 的包管理非常方便让我们使用 RT Thread 进行开发 但在实际工程中将应用代码写到 RT Thread 官方提供的 bsp 目录下面会非常不便于使用 无法使用自己 git 工具进行代码管理
  • 使用IntelliJ IDEA通过Maven创建Spring的HelloWord(超详细图文教程)

    在JavaWeb中 随着Intellij IDEA的广泛使用 所用的Maven插件在以后的JavaEE中开发也将是个趋势 通过Maven仓库 我们可以不用下载所关联的Jar包就可以进行引用 还是很方便整个工程管理的 因为自己也是第一次接触S
  • 运算符相关知识点

    字符串转数值类型新增 隐式转换 隐式转换 正号 var a 10 console log typeof a console log typeof a 0 隐式转换 console log typeof a 1 隐式转换 console lo
  • iosArchive上传到AppStoreConnect

    首先 我们需要一个IOS开发平台上有一个开发者账号 https developer apple com programs enroll 这个平台可以注册个人账号或者公司账号 公司账号需要的资料更麻烦一点 但是功能也更多 在做好的开发者账号的
  • Win10家庭版远程桌面工具RDP Wrapper

    Win10家庭版远程桌面工具RDP Wrapper 由于win10家庭版官方不支持使用远程控制mstsc工具 但是使用RDP Wrapper可以解决该问题 解决办法 链接
  • uniapp 地图组件(map)的使用总结

    总结一下本次在uniapp中使用map遇到的一些问题 文章分别是基础 定位图标 获取自身经纬度 通过经纬度获取当时城市信息 首先先看成品 首先引入map组件
  • C++查看 IEEE 754 浮点数格式的代码

    把内容过程中较好的一些内容片段备份一次 下边资料是关于C 查看 IEEE 754 浮点数格式的内容 for binary floating point numbers IEEE 754 is to use a union as shown
  • qt在程序执行的过程中刷新界面

    qt程序执行的过程中 一般是不会仅仅通过setText函数将文字刷新到界面上 如果想根据需要不断地显示文字到主界面上该怎么做呢 为什么不会刷新界面呢 这是由于调用show函数之后 并不能显示界面 必须调用如下图片的中的a exec函数才能刷
  • 一键部署office的工具——OTool

    OTool可用于office的下载 安装和激活 其激活方式是调用kmspico服务器进行的 官方网站是https otp landian vip zh cn 最新版本5 9 3 6在2019 4 16发布 使用方式 下载 这个软件是绿化版的
  • C/C++队列操作

    1 链队结构 typedef struct queuenode int data struct queuenode next Queue typedef struct Queue fronts rear linkqueue 2 入队操作 进
  • 字符设备驱动-通过GPIO子系统提供的API实现LED驱动

    前言 写文章的目的是想通过记录自己的学习过程 以便以后使用到相关的知识点可以回顾和参考 一 GPIO子系统提供的API gpio 子系统提供了 API 函数来操作指定的 GPIO gpio 子系统向驱动开发人员屏蔽了具体的读写寄存器过程 这
  • STM32硬件I2C与软件模拟I2C超详解

    作者简介 嵌入式入坑者 与大家一起加油 希望文章能够帮助各位 个人主页 rivencode的个人主页 系列专栏 玩转STM32 保持学习 保持热爱 认真分享 一起进步 目录 一 I2C协议简介 二 I2C物理层 三 I2C协议层 I2C 基
  • 面试官问:SpringBoot中@Async默认线程池导致OOM如何解决?

    前言 1 最近项目上在测试人员压测过程中发现了OOM问题 项目使用springboot搭建项目工程 通过查看日志中包含信息 unable to create new native thread 内存溢出的三种类型 1 第一种OutOfMem
  • Node.js 学习系列(一) —— 入门

    nodejs 官网 https nodejs org zh cn nodejs下载地址 https nodejs org zh cn download Node js 是一个开源 跨平台的 JavaScript 运行时环境 简单的说 就是运

随机推荐

  • git 环境配置 + gitee拉取代码

    好嘛 配环境的时候 老是忘记这个命令行 干脆自己写一个记录一下 也不用搜了 1 先从git官网下载git 安装 2 然后从gitee拉取代码的时候提示 这是因为换了新电脑没有加入新的公钥啦 哎 所以老是记不住命令行 first git co
  • SSL和SSH有什么区别

    许多人对SSL和SSH感到困惑 这是可以理解的 两者都是安全协议 可以帮助保护从一个端点到另一端点的数据 此外 他们的名字有两个相似的字母 增加了歧义 但是SSH和SSL是两回事 如果您感到困惑 或者对选择哪种安全协议犹豫不决 本文将为您提
  • Rk3288 Android 7.1/8.1默认开启网络ADB端口

    Rk3288 系列开机默认没有打开网络ADB端口 可通过ADB手动改打开 ADB连接后 输入 adb tcpip 5555 Android 默认为5555 输入 adb connect ip地址 可以通过 adb devices 来验证 W
  • NSIS脚本学习:判断版本并安装.NET Framework运行环境

    前言 目前开发的程序以基于 net的应用程序为主 程序开发好后 需要进行安装包的生成 及setup文件的生成 常见的是NSIS工具 之前一直用的单文件打包工具 不适合将运行环境加进去 因此开始使用更高版本的NSIS 3 06 关于判断 NE
  • dva.js yield call/put使用完整流程

    这个项目是基于dva框架的一个rn项目 对于一个新手 其实我也是菜鸟来着 来说 有很好的学习意义 首先我们来看下目录的结构 把我们定义的service引入进来 定义一个GET USER INFO的effects 注意这个函数名称前面要有 然
  • 在 Ubuntu 操作中安装Code::Blocks

    在 Ubuntu 操作 中安装Code Blocks 步骤如下 安装步骤 1 先把编译环境 C库 C 库和Boost库装好 如下 sudoapt get install build essential 有可能安装 build essenti
  • R语言常用包介绍

    r与python差异比较大的一个地方就是 python的机器学习算法集中程度比较高 比如sklearn 就集成了很多的算法 而R语言更多时候需要一个包一个包去了解 比较费时费力 对于python转过来的朋友非常不友好 抽空整理了工作中常用的
  • spark创建maven工程创建scala目录并编译

    背景 我创建spark的maven工程的时候 在java目录同级还创建了一个scala目录 这就得考虑编译相关的事了 解决 1 创建source folder 如下图所示 直接创建就好了 2 编译带来的问题 编译的时候发现一个问题 就是在s
  • WSL安装软件报错/sbin/ldconfig.real: /usr/lib/wsl/lib/libcuda.so.1 is not a symbolic link

    原因 usr lib wsl lib 目录下都是文件而不是链接 且该目录只读 需要在其他目录操作 解决 cd usr lib wsl sudo mkdir lib2 sudo ln s lib lib2 更改wsl配置文件 sudo vim
  • VisualStudio怎么一键注释多行以及一键取消多行注释

    一键注释多行代码 Ctrl k 然后 Ctrl c 一键取消多行注释 Ctrl k 然后 Ctrl u
  • 云主机8088端口被挖矿情况以及解决办法

    1 用top命令查询一下有没有CPU占用很高的 hadoop 10 9 15 140 top top 18 59 17 up 2 05 1 user load average 0 36 0 38 0 68 Tasks 97 total 1
  • Unity视频播放之Video Player的简单使用

    使用Unity自带的VideoPlayer来播放视频 一 准备视频 Unity3D常用视频格式 mov mpg mpeg mp4 avi asf 如果都不识别 试试转换成ogv格式 转换完成之后 将视频素材文件拖入Unity Assets文
  • Nginx中的正则匹配表达式操作符“~”和“~*“的含义

    操作符表示区分大小写的匹配 操作符表示不区分大小写的匹配 更多Nginx中正则表达式操作符的知识 请参考下面这个链接 https www cnblogs com bethal p 5514557 html
  • 二进制方式快速部署BSC主网v1.1.2

    文章目录 一 下载bsc主网快照数据 二 下载BSC二进制文件 三 下载主网配置文件及创世区块文件 四 二进制启动BSC主网 五 查询是否同步完成 BSC快照官方 https docs binance org smart chain dev
  • 任意进制的转换(C,C++)itoa函数,strtol函数,bitset函数,oct函数,dec函数,hex函数

    十进制转换为 2 10 进制代码方法 include
  • 单片机实现物体检测(人脸识别等)

    总述 边缘计算很有前景 对于低要求的识别任务完全可以下放到嵌入式设备运行 本文实现的应用基于TF lite Macro框架 实现 训练模型 基于YoloV3修改网络文件进行训练自己的模型 识别单个物体 模型文件机见下文连接 下载Darkne
  • 安装之openjdk

    1 先检查是否安装 dpkg list grep i jdk 2 移除openjdk包 命令 sudo apt get purge openjdk 3 卸载 OpenJDK 相关包 命令 sudo apt get purge icedtea
  • Windows下使用海康相机SDK获取图像并在Qt显示

    点击上方蓝字可直接关注 方便下次阅读 如果对你有帮助 可以点个在看 让它可以帮助到更多同志 一 一些基础信息 MVS 版本 V3 1 0 SDK 版本 V3 2 0 3 1 库与头文件位置 安装完MVS软件后 会有相机SDK的一些资料 如下
  • Sphinx——自动生成Python文档

    Sphinx是一个可自动生成python项目api的工具 使用起来也比较简单 只需要在项目上进行简单的配置 即可生成项目的api文档 简介 Sphinx是Python文档生成器 它基于reStructuredText标记语言 可自动根据项目
  • Vue.js常用的语法(一)

    在一个html文件中 我们直接可以通过script标签引入Vue js 然后就可以在页面里写Vue js代码了 我们通过new Vue 构建了一个Vue的实例 html文件 div p a p div app js var app new