<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style type="text/css">
[v-cloak] {
display: none;
}
</style>
<!-- 引入vue.js -->
<script src="js/vue.js" type="text/javascript"></script>
</head>
<body>
<div id="app">
<!-- 插值 -->
<div v-cloak>{{ msg }}</div>
<!-- 数据绑定指令 将数据填充到标签中-->
<!-- v-text填充纯文本 -->
<div v-text="msg"></div>
<!-- v-html填充html 片段 1、存在安全问题 2、本网站内的数据可以使用,第三方的数据不可用-->
<div v-html="msg1"></div><br/>
<!-- v-pre 填充原始信息 显示原始信息 ,跳过编译过程(分析编译过程)-->
<div v-pre>{{ msg1 }}</div>
<!-- 数据响应式 -->
<div>{{ msg }}</div>
<!-- v-once只编译一次 显示内容不再具有响应式功能-->
<div v-once>{{ msg }}</div><br/>
<div>{{ msg1 }}</div>
<!-- v-model双向数据绑定指令数 这里的变化会导致上面的内容跟着变化 mvvm设计思想-->
<input type="text" v-model="msg1" /><br/><br/>
<!-- 事件绑定 -->
<div>{{ num }}</div>
<!-- v-on指令用法 -->
<button v-on:click="num++">点我1</button>
<!-- v-on简写形式 -->
<button @click="num++">点我2</button>
<button @click="handle">点我3</button>
<!-- 时间函数的调用方式 事件函数参数传递 最后一个参数永远都是$event-->
<button @click="handle('123','456',$event)">点我4</button><br/>
<div v-on:click="handle1">
<!-- <button v-on:click="handle2">点我5</button> -->
<!-- 阻止冒泡 只执行当前本身,与之关联的不会执行 阻止向上走-->
<button v-on:click.stop="handle2">点我5</button>
</div>
<!-- 阻止当前的默认行为 -->
<a href="http://www.baidu.com" v-on:click.prevent="handle3">百度</a>
<div>
<!-- 按键修饰符 -->
<input type="text" v-model="username" v-on:keyup.enter="handle4" />
<!-- 事件修饰符 -->
<input type="text" v-model="pass" v-on:keyup.delete="handle5"/>
<!-- 自定义按键修饰符 -->
<input type="text" v-model="pass" v-on:keyup.f1="handle6"/>
</div>
<div>
<!-- v-bing指令用法 -->
<a v-bind:href="test">百度</a>
<!-- v-bing指令用法 的缩写形式-->
<a :href="test">百度</a>
</div>
<!-- v-bing 和 v-on:input 来实现v-model这个双向数据绑定 -->
<div>
<input type="text" v-bind::value="info" v-on:input="handle7"/>{{ info }}
</div>
</div>
<script type="text/javascript">
Vue.config.keyCodes.f1 = 65
// 实例化vue对象
var vm=new Vue({
// el 代表element 对应上方id=“app”
el:'#app',
// data 代表的是对象
data:{
// key value值
msg:'HelloWorld!',
msg1:"<h2>hello vue</h2>",
num:0,
username:"hello",
pass:"hello",
test:'http://www.baidu.com',
info:""
},
// 对应的函数方法 vue 专门的一套方式 用来写函数的
methods: {
// 对应上边的handle函数 ()括号里边是对应的参数
handle:function(p,p1,event){
console.log(this==vm);
console.log(p);
console.log(p,p1);
// 代表本身的一个对象
console.log(event.target.innerHTML);
//this 当前这个对象
this.num++;
},
handle1:function(){
this.num++;
},
handle2:function(){
},
handle4:function(){
console.log(this.username)
},
handle5:function(){
this.pass=""
},
handle6:function(event){
//看输入的值
console.log(event.target.value)
//看对应的编码值
console.log(event.keyCode)
},
handle7:function(event){
this.info=event.target.value;
}
}
})
</script>
</body>
</html>
Vue基本指令语法
于 2022-04-05 16:19:52 首次发布