从零开始学Vue3——(一)入门


前言

Vue作为国内使用率最高的框架,学习这门技术也越来越重要,这篇博客记录了本人学习Vue的过程以及学习笔记。 本文学习版本为Vue3


一、Vue是什么?

vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式JavaScript框架。
特点:简单,高效,生态丰富(插件多)

二、Vue的安装与使用

方法1.直接引用script

<script src="https://unpkg.com/vue@next"></script>

方法2.安装脚手架

npm install -g @vue/cli

目前处于学习初步阶段,目前文中安利使用的都是直接引入的方式

三、创建应用实例

写第一个vue实例吧!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<script src="https://unpkg.com/vue@next"></script>
	</head>
	<body>
		<div id="app">
			{{msg}}
		</div>

	</body>
	<script>
		const app = Vue.createApp({
			data() {
				return {
					msg: "Vue!Me-Wow!"
				}
			}
		});
		const vm = app.mount('#app')
		console.log(vm.msg); // Vue!Me-Wow!
	</script>
</html>

createApp 函数创建一个新的应用实例

mount 根据id将创建的应用实例与html模板相关联

其中 {{}} 为文本渲染语法,总结在下方

四、Vue模板语法

指令带有前缀 v-,以表示它们是 Vue 提供的特殊 attribute。
联系html模板与JavaScript数据模型

文本渲染

v-text

与innertext相似,不会对内部标签进行编译,直接输出

v-html

与innerHtml相似,会按照html的规则渲染,不会作为Vue版本进行编译

如下方例子:

<!-- html部分 -->
<div id="app">
    <p v-text="msg"></p>
    <p v-html="msg"></p>
</div>
//js部分
const app = Vue.createApp({
    data() {
        return {
            msg: "Vue!<b>Me-Wow!</b>"
        }
    }
});
const vm = app.mount('#app')
console.log(vm.msg); //Vue!<b>Me-Wow!</b>

运行结果如下:

{{}}

{{}}在进行纯文本渲染时与v-text相似,特别的是{{}}可以运行单行js表达式

<!-- html部分 -->
<div id="app">
    <p>1+2={{1+2}}</p>
    <p>{{msg}}</p>
    <p>{{msg.length}}</p>
    <p>{{msg.split("").reverse().join("")}}</p>
    <p>{{2>18?'大于':'小于'}}</p>
</div>

运行结果:

属性渲染

v-bind:attribute="值"

简写为   :属性名="值"

<!-- html部分 -->
<div id="app">
    <p v-bind:title="msg">hello world</p>
    <p :title="msg">hello Vue</p>
</div>

运行结果:

条件渲染

v-if

用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。

v-if-else

顾名思义,充当 v-if 的“else-if 块”,并且可以连续使用:

必须紧跟在带 v-if 或者 v-else-if 的元素之后,否则它将不会被识别

v-else

添加一个“else 块”:

必须紧跟在带 v-if 或者 v-else-if 的元素的后面,同v-if-else

<!-- html部分 -->
<div id="app">
    <p v-if="islog">欢迎回来!</p>
    <p v-else>请登录</p>
    <hr >
    <p v-if="score>=90">{{score}}优秀</p>
    <p v-else-if="score>=80">{{score}}良好</p>
    <p v-else-if="score>=70">{{score}}中等</p>
    <p v-else-if="score>=60">{{score}}及格</p>
    <p v-else>{{score}}不及格</p>
    <hr >
    <p v-show="show">Mewow</p>
</div>
//js部分
const app = Vue.createApp({
    data() {
        return {
            islog:false,
            score:100,
            show:true
        }
    }
});
const vm = app.mount('#app')

运行结果:

v-show

与v-if相似,可以控制元素的显示与隐藏;

不同点:v-if通过移除节点的方式隐藏,而v-show通过css属性进行隐藏与显示;

所以,当需要进行频繁切换隐藏或显示时,推荐用v-show,反之推荐使用v-if。

示例代码见v-if部分

列表渲染

遍历数组

v-for="(item,index) in list" :key="item.id"

item变量当前数据;index 当前下标

遍历对象

v-for="(value,key) in obj"

范围

v-for="item in 5"

key是给vue遍历的节点的一个唯一标识符,更好的让vue去做排序过滤等操作,为了性能的优化,要求在一个for指令里面key的值要唯一

v-for优先级高于v-if,同时使用时要借助<template>标签

    <!-- html部分 -->	
    <div id="app">
		<ul>
			<li v-for="item in list">{{item}}</li>
		</ul>
		<hr>
		<p v-for="(value,key) in obj">{{key}} : {{value}}</p>
		<hr>
		<template v-for="i in 10">
			<p v-if="i%2===0">{{i}}</p>
		</template>
	</div>
		//js部分
		const app = Vue.createApp({
			data() {
				return {
					list: [1, 2, 3, 4],
					obj: {
						name: "Mewow",
						age: 18
					},
				}
			}
		});
		const vm = app.mount('#app')

运行结果:

v-on:事件="表达式"

缩写为:@事件="表达式"

添加一个事件监听器,通过它调用在实例methods中定义的方法。

绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。

eg:点击按钮按钮上的数字增加

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>数字加1</title>
		<script src="https://unpkg.com/vue@next"></script>
	</head>
	<body>
		<div id="app">
			<button type="button" @click="num++">{{num}}</button>
		</div>
	</body>
	<script type="text/javascript">
		Vue.createApp({
			data(){
				return{
					num:1
				}
			}
		}).mount("#app");
	</script>
</html>

运行结果:


总结

以上就是今天学习Vue的收获,对Vue语法有了初步的理解。明天继续!

点个赞吧👍

  • 17
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue 3 是一款流行的 JavaScript 框架,用于构建交互式的用户界面。下面是一个简单的 Vue 3 入门基础教程: 1. 安装 Vue 3:你可以通过使用 npm 或 yarn 在你的项目中安装 Vue 3。在命令行中运行以下命令来进行安装: ``` npm install vue@next ``` 或者 ``` yarn add vue@next ``` 2. 创建 Vue 实例:在你的 HTML 文件中,引入 Vue 库,并创建一个新的 Vue 实例。可以在实例化时指定选项对象来配置 Vue 实例。例如: ```javascript <html> <head> <script src="https://unpkg.com/vue@next"></script> </head> <body> <div id="app"> {{ message }} </div> <script> const app = Vue.createApp({ data() { return { message: 'Hello, Vue 3!' }; } }).mount('#app'); </script> </body> </html> ``` 3. 数据绑定:Vue 3 支持使用双大括号语法将数据绑定到 HTML 模板中。在上面的示例中,`message` 数据绑定到了 `<div>` 元素中。 4. 计算属性:Vue 3 还提供了计算属性的特性,用于在模板中动态计算一些值。可以通过定义 `computed` 对象来创建计算属性。例如: ```javascript const app = Vue.createApp({ data() { return { firstName: 'John', lastName: 'Doe' }; }, computed: { fullName() { return this.firstName + ' ' + this.lastName; } } }).mount('#app'); ``` 在模板中,你可以直接使用 `fullName` 计算属性。 这只是一个简单的入门教程,Vue 3 还有很多其他功能和概念,例如组件、指令、事件处理等。你可以查阅 Vue 3 的官方文档以获得更详细的了解和学习资源。祝你学习愉快!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值