初识Vue.js

初识Vue.js

一.何谓Vue?

Vue是一种流行的JavaScript框架,用于构建用户界面。它是一种渐进式框架,可以逐步应用到现有项目中,也可以用于构建全面的单页应用程序。

1.Vue的特点

1.声明式渲染:Vue使用基于HTML的模板语法,将数据和DOM进行绑定,使开发者能够以声明方式描述应用程序的状态和界面,而不是直接操作DOM。
响应式数据绑定:Vue使用双向绑定的方式,将数据模型与视图进行自动同步。当模型发生改变时,视图会自动更新;反之亦然。

2.组件化开发:Vue将用户界面抽象为独立的可复用组件,每个组件包含了自己的逻辑和模板。组件可以嵌套和组合,使得代码结构更清晰、易于维护和重用。

3.虚拟DOM:Vue使用虚拟DOM来提高性能。它通过在内存中构建虚拟DOM树,然后将其与实际的DOM进行比较,只更新需要改变的部分,以减少DOM操作的次数。

4.插件系统:Vue提供了丰富的插件系统,可以扩展其核心功能。开发者可以使用插件来添加新的功能、库或工具。

Vue的生态系统非常活跃,有大量的第三方库和工具可以与之配合使用,如Vue Router用于进行路由管理,Vuex用于进行状态管理,Vue CLI用于快速搭建Vue项目等等。

总的来说,Vue是一种简洁、灵活且易于学习和使用的前端框架,非常适合构建现代化的Web应用程序。

二.Vue的引入

当我们要使用别人已经设计好的框架时,那么首先要设置相应的运行环境和引入数据之类的,不过Vue的引入还是比较简单的。

1.网络路径或者本地引入

通过 CDN 使用 Vue

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

本地资源导入

<script src="./path/to/vue.js"></script>

2.使用Vue文档搭建服务器引入

在cmd控制台 > npm create vue@latest
配置相应的环境,也一样的可以使用

3.使用Vite文档开发服务器

在cmd控制台 >npm create vite@latest
同上,在使用Vite搭建项目时选择使用Vue框架即可

三.Vue的基本语法

1.插值表达式

Vue框架中的插值表达式使用双花括号 {{}} 来表示。插值表达式可以在模板中动态地显示Vue实例的数据。

<div id="app">
		<h1>{{counter}}</h1>
		<h1>{{msg}}</h1>
		<p>{{counter>18?"成年人":"未成年"}}</p>
		<p>{{msg&&"牛皮"}}</p>
		<p>{{fn(100)}}</p>
		<p>{{counter+90}}</p>
		<p>{{arr[0]}}</p>
	</div>
	<div>
		{{msg}}
	</div>
	<script>

		Vue.createApp({
			data() {
				return {
					arr: [1, 2, 3],
					counter: 0,
					msg: "hello",
					fn: (arg) => { return arg + 90 }
				}
			}
		}).mount('#app');
	</script>

只需要记主一点就是双花括号 {{}} 可以填入任意的表达式

2.基础指令

1.v-html指令

在Vue中,v-html是一种指令,用于将数据绑定到HTML内容中。它允许你在模板中动态地插入HTML代码。

<div v-html="htmlContent"></div>

在Vue实例中,你可以定义一个名为"htmlContent"的数据属性,并将其绑定到模板中的v-html指令。当数据属性的值是包含HTML代码的字符串时,v-html指令会将这段HTML代码渲染到模板中的元素中。

需要注意的是,v-html指令会将字符串中的HTML代码直接渲染到模板中,这样可能会有安全风险。因此,只有当你能够信任这段HTML代码的来源时,才应该使用v-html指令。避免将来自用户输入或不可信任的源的HTML代码直接传递给v-html指令,可以使用其他安全措施来过滤或转义HTML代码。

底层原理大致是:
当遇到带有v-html指令的元素时,Vue会创建一个虚拟DOM节点,并将指令的值作为节点的innerHTML属性。然后,Vue会将这个虚拟DOM节点插入到父节点中的相应位置。

2.v-text指令

v-text是Vue中的指令之一,它用于将数据表达式的值插入到元素的文本内容中。

<p v-text="message"></p>

其中,message是Vue实例中的一个数据属性。当Vue渲染模板时,它会将message的值插入到p元素的文本内容中。

v-text指令和插值语法{{ }}的功能类似,但有一些区别。具体来说,v-text指令只会更新元素的文本内容,而不会影响元素内部的HTML结构。而插值语法则会将数据表达式的值作为HTML解析,并替换元素的文本内容和HTML结构。

需要注意的是,v-text指令会覆盖元素原本的文本内容,而不是在原内容的基础上追加。如果需要在元素的文本内容中追加数据表达式的值,可以使用插值语法或者v-html指令。

3.v-pre指令

在Vue中,v-pre是一种特殊的指令,用于跳过Vue编译器对当前元素及其子元素的编译过程。使用v-pre指令可以提高编译性能,特别是对于那些静态内容较多的元素。

当Vue遇到一个带有v-pre指令的元素时,它会将该元素以及该元素的所有子元素视为原始HTML内容,不会对其进行解析或编译。这意味着其中的任何Vue模板语法或指令都不会生效。

4.v-cloak指令

在Vue中,v-cloak是一种特殊的指令,用于解决在初始化Vue实例时由于网络延迟或其他原因导致页面加载慢时,用户可能会在页面上看到Vue模板语法的问题。

使用v-cloak指令可以防止在Vue实例未完全编译和渲染完成之前,显示Vue模板语法的原始文本。当Vue实例加载并完成编译后,v-cloak指令会自动从元素上移除,从而显示Vue实例正确渲染的内容。

5.v-bind指令

在Vue中,v-bind 是一种用于属性绑定的指令,它可以将Vue实例的数据绑定到HTML元素的属性上。
1.缩写形式:使用冒号 : 表示 v-bind 的缩写,后面跟一个表达式,将其值绑定到属性上。例如:

<div id="app">
  <img :src="imageUrl" alt="Image">
</div>

<script>
const app = Vue.createApp({
  data() {
    return {
      imageUrl: 'https://example.com/image.jpg'
    }
  }
})

app.mount('#app')
</script>


该指令也对标签的style属性进行绑定

6.事件绑定

1.通过v-on指令绑定事件:

<button v-on:click="handleClick">点击</button>

2.在Vue 3中,你也可以使用缩写形式@来绑定事件:

<button @click="handleClick">点击</button>

3.使用事件修饰符: Vue 3中的事件修饰符与Vue 2相同,可以用来处理事件的特定行为。例如,.prevent修饰符可以阻止默认的表单提交行为:

<form @submit.prevent="handleSubmit">
  <!-- 表单内容 -->
</form>

4.动态事件绑定: 在Vue 3中,可以通过在事件名称前使用方括号,来动态绑定事件:

<button @[eventName]="handleEvent">点击</button>

7.样式事件的绑定

1.对象语法:可以通过绑定一个对象来动态设置元素的样式。对象的属性名是要应用的样式名称,属性值是样式的值,可以是一个变量或表达式。例如:

<div :style="{ color: textColor, fontSize: fontSize + 'px' }">Hello Vue 3</div>

2.数组语法:可以通过绑定一个数组来动态设置元素的样式。数组的元素可以是对象、数组或字符串,它们将会被合并为一个样式对象。例如:

<div :style="[baseStyles, { color: textColor }, computedStyles]">Hello Vue 3</div>

3.字符串语法:可以通过绑定一个字符串来直接设置元素的样式。字符串可以是一个变量或表达式,它的值应该是符合CSS规则的样式字符串。例如:

<div :style="`color: ${textColor}; font-size: ${fontSize}px`">Hello Vue 3</div>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值