IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> VUE JS基础语法及入门 -> 正文阅读

[JavaScript知识库]VUE JS基础语法及入门

官网下载vue文件,在HBuild X中引入vue js

1.vue入门

? ? ? ? 语法规则:vue中必须定义根目录标签

? ? ? ? 编辑vue js

<script>
			// var 的弊端:没有作用域的概念,如果变量名称重复会引发问题
			// let  有作用域的概念
			// const  常量  全局唯一,不可更改
			const app = new Vue({
				// 标识vue对象的作用范围
				el: "#app",
				// 定义数据对象
				data: {
					hello: "HelloVue"
				}
			})
</script>

? ? ? ? 利用插值表达式,获取数据(div标签要放在script标签之前,vue要引用标签所以标签必须先加载出来引用时才能生效)

<div id="app">
			
		{{hello}}
</div>

? ? ? ? 最后效果

<body>
		<div id="app">
			{{hello}}
		</div>
		<script src="../js/vue.js"></script>
		<script>
			const app = new Vue({
				el: "#app",
				data: {
					hello: "HelloVue"
				}
			})
		</script>
</body>

(1)v-click:当程序编译结束时,v-vlock的隐藏效果将不起作用,当程序没有编译结束时,v-clock的隐藏效果有效

    <head>
        <style type="text/css">
			/* 为属性定义样式 */
			[v-clock]{
				/* 定义样式不显示 */
				display: none;
			}
		</style>
    </head>
    <body>
        <div id="app" v-cloak>
			{{hello}}
		</div>
		<script src="../js/vue.js"></script>
		<script>
			const app = new Vue({
				el: "#app",
				data: {
					hello: "HelloVue"
				}
			})
		</script>
    </body>

2.vue数据展现

? ? ? ? 先在页面最后设置好script标签

    <script>
		const app = new Vue({
			el: "#app",
			data: {
				hello: "您好Vue",
				html: "<h1>好好学习,天天向上</h1>",
				one: "java学习",
				name: "admain"
			}
		})
    </script>

? ? ? ? (1)Mustache:插值表达式

<h3>{{hello}}</h3>

? ? ? ? (2)v-text:数据展现,当数据没有解析成功时,页面没有任何数据,是v-clock的升级版

<h3 v-text="hello"></h3>

? ? ? ? (3)v-html:将数据按照html形式解析,有时候页面中的部分数据来自于其他服务器,远程服务器返回的是html代码片段,如果需要,会将代码片段渲染为页面形式

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

? ? ? ? (4)v-pre:跳过这个元素和它的子元素的编译过程,可以用来显示Mustache标签。跳过大量没有指令的节点,会加快编译。当需要展示原始的Mustache标签不需要程序编译时可以使用。

<div v-pre>{{hello}}</div>

? ? ? ? (5)v-once:数据只允许渲染一次

<div v-text="one" v-once></div>

? ? ? ? (6)v-model:双向数据绑定,data中的数据发生变化时页面数据随时更新

    <div style="border: aliceblue;">
		<h3>双向数据绑定</h3>
		用户名:<input type="text" name="name" v-model="name" />
    </div>

3.vue事件绑定

? ? ? ? (1)事件

    <body>
		<div id="app">
			<h1 v-text="number"></h1>
			<button v-on:click="number++">自增</button>
			<!-- 简化操作 -->
			<button @click="addNum">加1</button>
			<button @click="addNum2">自增2</button>
			<button @click="subNum">自减2</button>
		</div>
		<script src="../js/vue.js"></script>
		<script type="text/javascript">
			const app = new Vue({
				el: "#app",
				data: {
					number: 1
				},
				methods: {
					addNum:function(){
						this.number++
					},
					// addNum方法的简化操作
					addNum2(){
						this.number += 2
					},
					subNum(){
						this.number -= 2
					}
				}
			})
		</script>
		
	</body>

????????页面展示结果,可以对数字进行加减运算

? ? ? ? (2)事件冒泡:如果事件之间有嵌套关系,执行完成内部事件之后执行外部事件,这种现象称为事件冒泡,阻止事件冒泡:后面.stop

    <div id="app" @click="addNum2">
		<h3>{{number}}</h3>
		<button @click="addNum">增1</button>
	</div>
    <script src="../js/vue.js"></script>
	<script type="text/javascript">
		const app = new Vue({
			el: "#app",
			data: {
				number: 1
			},
			methods: {
				addNum:function(){
					this.number++
				},
				addNum2(){
					this.number += 2
				},
			}
		})
	</script>

? ?? ? ?(3)@click.prevent:阻止默认行为,如果需要阻止标签的默认行为 则添加 @click.prevet

<div id="app">
	<a href="" @click.prevent="baidu" >百度</a>
</div>
  //超链接默认会跳转到指定页面,用@click.prevent阻止它的默认行为
<script type="text/javascript">
	const app = new Vue({
		el: "#app",
		data: {
		},
		methods: {
			baidu(){
				console.log(`跳转百度`);
			}
		}
	})
</script>

? ? ? ? (4)特殊按键字符说明(F12键可以查看结果)

<div id="app">
	<h3>常用特殊按键字符说明</h3>
	回车键触发:<input type="text" name="username" type="text" @keyup.enter="handler"/> <br>
	删除键触发:<input type="text" name="age" type="text" @keyup.delete="handler" /> <br>
	space键触发:<input type="text" name="sex" type="text" @keyup.space="handler" /> <br>
</div>
<script src="../js/vue.js"></script>
<script type="text/javascript">
	const app = new Vue({
		el: "#app",
		data: {
        },
		methods: {
        handler(){
			console.log("函数被点击");
		}
    })
</script>

? ? ? ? (5)计算器:要求,输入完B之后,回车键触发计算 加法操作

    <body>
		<div id="app">
			数据A:<input type="text" v-model="num1"/>
			数据B:<input type="text" v-model="num2" @keyup.enter="add"/>
			总 和:<span v-text="count"></span>
		</div>
		<script src="../js/vue.js"></script>
		<script type="text/javascript">
			const app = new Vue({
				el: "#app",
				data: {
					num1: '',
					num2: '',
					count: ''
				},
				methods: {
					add(){
						this.count = parseInt(this.num1) + parseInt(this.num2)
					}
				}
			})
		</script>
	</body>

4.vue属性绑定

? ? ? ? (1)属性绑定

<div id="app">
    <a v-bind:href="url">百度-vue1</a>
    <!-- 简化 -->
	<a :href="url">百度-vue2</a>
</div>
<script src="../js/vue.js"></script>
<script type="text/javascript">
	const app = new Vue({
		el: "#app",
		data: {
			url: "http://www.baidu.com"
		},
		methods: {	
		}
	})
</script>

? ? ? ? (2)样式绑定(点击切换可进行央视的切换)

<div id="app">
    <h3>样式绑定</h3>
	<!-- 需求:控制red是否展现 -->
	<div class="red">AAAAAAAAAAA</div>
	<div :class="{red:flage}">BBBBBBBBBBBBB</div>
	<button @click="flage = !flage">切换</button>
</div>
<script src="../js/vue.js"></script>
<script type="text/javascript">
	const app = new Vue({
		el: "#app",
		data: {
            flage: true
	    },
        methods: {		
		}
        })
</script>

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 15:00:21  更:2021-08-20 15:01:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 8:45:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码