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

HBuilder X 中Vue.js基础使用1(三)

一、 模板语法

     Vue 使用一种基于 HTML 的模板语法,使我们能够声明式地将其组件实例的数据绑定到呈现的 DOM 上。所有的 Vue 模板都是语法层面合法的 HTML,可以被符合规范的浏览器和 HTML 解析器解析。

 英文官网: Vue.js - The Progressive JavaScript Framework | Vue.js

 中文官网: https://cn.vuejs.org/

HTML中包含了一些 JS 语法代码,语法分为两种

1. 插值(双大括号{{ }}表达式)

2. 指令(以 v-开头)

二、响应式基础

1、ref()

   ref()  在组合式 API 中,推荐使用 ref() 函数来声明响应式状态

 ref() 接收参数,并将其包裹在一个带有 .value 属性的 ref 对象中返回

<script setup>
 import { ref } from 'vue'
// “ref”是用来存储值的响应式数据源。
const count = ref(100)
const msg=ref('Hello Using Vue.js ref()')

function add() {
  count.value++   //ref包裹在一个带有 .value 属性
}

function updates(){
	msg.value=msg.value.split('').reverse().join('').concat('!');    //修改一个 ref 的值。
}
</script>

<style>
</style>


<template>
	<div>注册<p/>
		<h1>{{msg}}</h1>
		<button @click="add">{{count}}</button><br/><br/>
		<button @click="updates">{{msg}}</button>
	</div>
	
</template>

2、reactive()

    reactive 是在Vue3 中一个用于创建响应式数据的函数。它可以将普通 JavaScript 对象转换为响应式对象,使其能够在数据变化时自动更新视图。

reactive注意点

  1. 有限的值类型:它只能用于对象类型 (对象、数组(json/arr)和如 MapSet 这样的集合类型)。它不能持有如 stringnumber 或 boolean 这样的原始类型。

  2. 不能替换整个对象:由于 Vue 的响应式跟踪是通过属性访问实现的,因此我们必须始终保持对响应式对象的相同引用。这意味着我们不能轻易地“替换”响应式对象,因为这样的话与第一个引用的响应性连接将丢失:

<script setup>

//reactive使用
import { reactive } from 'vue';
const numbers=reactive(1000) //定义一个基本数据类型
//定义对象
const data=reactive({
	name:'张三',
	age:18,
	gender:'男'
})

//修改数据,视图自动更新
data.name="interface"

</script>

<style>
</style>


<template>
	<div>注册<p/>
		<h1>{{msg}}</h1>
		<button @click="add">{{count}}</button><br/><br/>
		<button @click="updates">{{msg}}</button><br/><br/>
		<span>{{data.name}},{{data.age}},{{data.gender}} / {{numbers}}</span><br/>

	</div>
	
</template>

优点:

  • 响应式视图:reactive 使得创建响应式视图变得容易,无需手动管理依赖关系。
  • 性能优化:Vue.js 仅在数据更改时更新视图,从而提高性能。
  • 易用性:reactive 函数简单易用,可简化应用程序开发。

三、属性Attribute绑定

   使用双大括号{{}}的写法,可以将数据解释为纯文本,但是是不能动态绑定HTML的attributes的,要想绑定attribute就需要用v-bind指令

v-bind:可以简写为冒号:,如v-bind:id="top"写成 :id="top"


<div :id="dynamicId"></div>

      因为 class 和 style 都是 attribute,我们可以和其他 attribute 一样使用 v-bind 将它们和动态的字符串绑定   

      Vue 专门为 class 和 style 的 v-bind 用法提供了特殊的功能增强。除了字符串外,表达式的值也可以是对象或数组。 


<script setup>
import {ref} from 'vue'

//颜色
const color=ref('blue')

const dynamicId=ref('titles')

function toggleColor(){
	color.value=color.value=='blue'?'red':'blue'
}
</script>


<template>
	<div :id="dynamicId">
	    <span>动态绑定</span><br/>
		 <!-- 样式绑定也支持对象和数组 -->
		<span :style='{color}' @click="toggleColor">
			改变字体颜色!!
		</span>
		
	</div>
	
</template>


<style>
	#titles{
		font-size: 32px;
		background: gray;
	}
	
	span{
		display: block;
		
	}
</style>

 

 

 


http://www.kler.cn/news/361997.html

相关文章:

  • Java, 将 csv 中空值用上一行的值填充
  • AI图像处理工具:开发者高阶用法与最佳实践
  • 【平方矩阵 + 蛇形矩阵】
  • 【leetcode|哈希表、动态规划】最长连续序列、最大子数组和
  • 《黑神话悟空》各章节boss顺序汇总
  • js实现数组中数据有则删除无则添加-[‘12123‘,‘432233‘...]
  • Vue学习一
  • 萤石云服务支持云端视频AI自动剪辑生成
  • 前端-基础CSS总结常用
  • LTE 基于快速hadamard变换FHT SSS辅同步信号检测之--M序列与hadamard变换的关系
  • uniapp修改input中placeholder样式
  • 学习笔记——交换——STP(生成树)桥协议数据单元(BPDU)
  • HTTPS关键考点(HTTPS Key Exam Points)
  • VOIDMAW:一种可用于绕过内存扫描器的新技术
  • [单调栈] 统计点数
  • 如何使用 matplotlib 在 Python 3 中绘制数据
  • 定制开发 AI 智能名片 S2B2C 商城系统小程序:选择靠谱第三方开发商的重要性
  • 给el-dialog的整体加动态class
  • Hadoop 3.4.0 安装与WordCount示例
  • 重学SpringBoot3-Reactive-Streams规范
  • 基于ADC方法的系统效能评估代码实现
  • Linux_VI、VIM编辑器
  • 如何优雅解决Go版本安装问题及与Oracle 11g的兼容性挑战20241017
  • React是如何工作的?
  • [实时计算flink]DataStream连接器设置方法
  • Linux中的socket文件和网络变成中的socket异同点