Vue基本代码
-
导入Vue的包
<script src="js/vue.js"></script>
-
创建一个Vue的实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>HelloVue</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
//通过{{}}可以直接获取data中的key-v
<p>{{msg}}</p>
</div>
<script>
const vm = new Vue({
//el表示当前vue实例要控制页面上的那个区域
el: '#app',
//data:存放el种要用到的数据。
data: {
msg: 'Hello Vue'
}
})
</script>
</body>
</html>
- v-cloak v-text 和 v-html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Vue-cloak</title>
<script src="js/vue.js"></script>
</head>
<style>
[v-cloak] {
display: none;
}
</style>
<body>
<div id="app">
<p v-cloak>{{msg}}</p>
<!-- 默认v-text是没有闪烁问题的 -->
<!-- 默认v-text会覆盖元素中的内容 v-cloak只替换{{}} -->
<h4 v-text='aaa'></h4>
<!--v-html会在div中添加html标签,上面两种方式会把html当作文本处理。 -->
<div v-html="bbb"></div>
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
msg: 123,
aaa: 456,
bbb: '<h1>这是一个h1</h1>'
}
});
</script>
</body>
</html>
- v-bind绑定数据,v-on绑定事件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>v-bind</title>
<script src="js/vue.js"></script>
</head>
<body>
<div id="app">
<!-- v-bind是vue中,提供用于绑定属性的指令 -->
<!-- vue提供了v-on事件绑定机制,可简写为@ -->
<button v-bind:title="Mytitle" v-on:click="show">按钮</button>
<!-- v-bind可以被简写为一个:它会把=后面的属性当作js解析 -->
<button :title="Mytitle+'2'">按钮2</button>
</div>
</body>
<script>
var vm = new Vue({
el: "#app",
data: {
Mytitle: "一个按钮",
msg: "Hello"
},
methods: { //这个methods用于定义当前Vue实例所有可用的方法
show: function () {
//获取上面的变量要用this
alert(this.msg);
}
}
});
</script>
</html>
实例,跑马灯效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/vue.js"></script>
</head>
<body>
<div id="app">
<button @click="stat">跑马灯</button>
<button @click="stop">停</button>
<h4>{{msg}}</h4>
</div>
</body>
<script>
var vm = new Vue({
el: "#app",
data: {
msg: "猥琐发育,别浪~~!",
intervalId: null
},
methods: {
stat() {
if (this.intervalId == null)
this.intervalId = setInterval(() => {
let str = this.msg;
let bengin = this.msg.substring(0, 1);
let end = str.substring(1);
this.msg = end + bengin;
}, 400)
},
stop() {
clearInterval(this.intervalId);
this.intervalId = null;
}
}
});
</script>
</html>