vue入门案例
1、技术在迭代,有时候你为了生活没有办法,必须掌握一些新的技术,可能你不会或者没有时间造轮子,那么就先把利用轮子吧。
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11
12 <div id="app">{{message}}</div>
13
14 <script type="text/javascript">
15 //创建一个Vue的实例,让这个实例去接管id为app的这个元素
16 var vue = new Vue({
17 el:"#app", //el关键字是element单词的缩写,代表元素。#app是id为app。el的值等于#app代表和那个dom节点的id做绑定。
18 data:{ //data关键字是存放的需求数据。去处理id等于app这一块区域的内容。
19 message:"hello vue!" //message名称可以根据自己需求起名称。
20 }
21 });
22 </script>
23 </body>
24 </html>
2、挂载点,模板,实例之前的关系:
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11
12 <!-- 挂载点,模板,实例之前的关系 -->
13
14 <!-- 此div标签被称为vue1实例的挂载点。vue1会处理该挂载点下面的内容。 -->
15 <!-- 挂载点内部的内容被称为模板,模板内容也可以写到template标签里面,切记template值需要使用html元素包含起来。 -->
16 <div id="app"></div>
17
18 <!-- 此div标签被称为vue2实例的挂载点 -->
19 <div id="app2">{{message}}</div>
20
21 <script type="text/javascript">
22 //创建一个Vue的实例,让这个实例去接管id为app的这个元素
23 //实例vue1,创建了一个Vue实例。
24 var vue1 = new Vue({
25 el: "#app", //el关键字是element单词的缩写,代表元素。#app是id为app。el的值等于#app代表和那个dom节点的id做绑定。
26 template: \'<h1>I am biehl,{{message}}</h1>\', //template标签的值被称为模板内容。
27 data:{ //data关键字是存放的需求数据。去处理id等于app这一块区域的内容。
28 message:"hello vue!" //message名称可以根据自己需求起名称。
29 }
30 });
31
32 var vue2 = new Vue({
33 el:"#app2",
34 data:{
35 message:"你好,vue框架"
36 }
37
38 });
39 </script>
40 </body>
41 </html>
3、Vue中方法的使用以及属性的改变,Vue实例中的数据,事件,方法。
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11
12 <!-- 挂载点,模板,实例之前的关系 -->
13
14 <!-- 此div标签被称为vue1实例的挂载点。vue1会处理该挂载点下面的内容。 -->
15 <!-- 挂载点内部的内容被称为模板,模板内容也可以写到template标签里面,切记template值需要使用html元素包含起来。 -->
16 <div id="app"></div>
17
18 <!-- 此div标签被称为vue2实例的挂载点 -->
19 <div id="app2">{{message}}</div>
20
21 <!-- {{number}}、{{msg}}被称为插值表达式 -->
22 <!-- <div id="app3">{{number}},{{msg}}</div> -->
23
24 <!-- v-text是vue的一个属性指令,值是一个变量,代表了h4要显示的变量就是number的值,等同于v-html属性命令,此命令将html进行转义,v-text不转义。 -->
25 <div id="app3">
26 <!-- <h4 v-text="number"></h4> -->
27 <div v-on:click="()=>{alert(\'world vue!!!\')}">{{msg}}</div>
28 <div v-on:click="handleClick">{{msg}}</div>
29 <!-- v-on:的简写是@这个符号 -->
30 <div @click="handleClick2">{{msg}}</div>
31 </div>
32
33
34 <script type="text/javascript">
35 //创建一个Vue的实例,让这个实例去接管id为app的这个元素
36 //实例vue1,创建了一个Vue实例。
37 var vue1 = new Vue({
38 el: "#app", //el关键字是element单词的缩写,代表元素。#app是id为app。el的值等于#app代表和那个dom节点的id做绑定。
39 template: \'<span>I am biehl,{{message}}</span>\', //template标签的值被称为模板内容。
40 data:{ //data关键字是存放的需求数据。去处理id等于app这一块区域的内容。
41 message:"hello vue!" //message名称可以根据自己需求起名称。
42 }
43 });
44
45 var vue2 = new Vue({
46 el:"#app2",
47 data:{
48 message:"你好,vue框架"
49 }
50 });
51
52 var vue3 = new Vue({
53 el:"#app3",
54 data:{
55 number:123, //vue中改变数据的显示,设法改变数据即可,即可完成数据的改变。
56 msg:"hello vue!"
57 },
58 methods:{
59 handleClick:function(){
60 console.log("world vue!!!!!!!!");
61 alert("world vue!!!!!!!!");
62 this.msg = "world vue!!!"; //在vue的methods中改变data里面的数据,如此调用即可完成数据的改变
63 },
64 handleClick2:function(){
65 this.msg = "hello vue!!!";
66 },
67 }
68 });
69 </script>
70 </body>
71 </html>
4、vue中属性绑定和双向数据绑定。1)、v-bind:等同于:。2)、v-on:等同于@。3)、双向绑定v-model。
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11 <!-- vue中属性绑定和双向数据绑定。1、v-bind:等同于:。2、v-on:等同于@。 -->
12 <div id="app1">
13 <div v-bind:title="title">{{msg}}</div>
14 <div :title="\'I am biehl , \' + title">{{msg}}</div>
15 <!-- v-bind:value等价于:value。 -->
16 <input type="text" name="userName" v-bind:value="content">
17 <div>{{content}}</div>
18 <!-- 双向绑定v-model,指定data的password的值 -->
19 <input type="password" name="password" v-model="password">
20 <div>{{password}}</div>
21
22 </div>
23
24
25 <script type="text/javascript">
26 var vue1 = new Vue({
27 el:"#app1", //el的值是id,所以一定记得加上#,例如#app1
28 data:{
29 msg:"hello vue!",
30 title:"this is hello vue!!!",
31 content:"this is content!!!",
32 password:"123456",
33 }
34 });
35
36 </script>
37 </body>
38 </html>
5、Vue中计算属性和侦听器。
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11 <!-- vue中属性绑定和双向数据绑定。1、v-bind:等同于:。2、v-on:等同于@。 -->
12 <div id="app1">
13 <div v-bind:title="title">{{msg}}</div>
14 <div :title="\'I am biehl , \' + title">{{msg}}</div>
15 <!-- v-bind:value等价于:value。 -->
16 <input type="text" name="userName" v-bind:value="content">
17 <div>{{content}}</div>
18 <!-- 双向绑定v-model,指定data的password的值 -->
19 <input type="password" name="password" v-model="password">
20 <div>{{password}}</div>
21 </div>
22
23 <br/><br/>
24
25 <!-- Vue中计算属性和侦听器 -->
26 <div id="app2">
27 姓:<input type="text" name="firstName" v-model="firstName" /><br/>
28 名:<input type="text" name="lastName" v-model="lastName" /> <br/>
29 <!-- 冗余的显示 -->
30 姓名:<span>{{firstName}}{{lastName}}</span> <br/>
31 姓名:<span>{{fullName}}</span><br/>
32
33 <div>{{count}}</div>
34 <div v-text="count"></div>
35 <div v-html="count"></div>
36
37 <!-- 监听器的使用 -->
38
39
40 </div>
41
42
43 <script type="text/javascript">
44 var vue1 = new Vue({
45 el:"#app1", //el的值是id,所以一定记得加上#,例如#app1
46 data:{
47 msg:"hello vue!",
48 title:"this is hello vue!!!",
49 content:"this is content!!!",
50 password:"123456",
51 }
52 });
53
54
55 /* Vue中计算属性和侦听器 */
56 var vue2 = new Vue({
57 el:"#app2",
58 data:{
59 firstName:"张",
60 lastName:"三三",
61 count:0,
62 },
63 //vue计算属性computed
64 computed:{
65 fullName:function(){
66 return this.firstName + \' \' + this.lastName;
67 },
68 },
69 //监听器,监听某一个数据的变化,当某一个数据变化,就执行自己的逻辑。
70 watch:{
71 /*firstName:function(){
72 this.count++;
73 },
74 lastName:function(){
75 this.count++;
76 },*/
77 fullName:function(){
78 this.count++;
79 //alert("什么鬼......");
80 }
81 }
82 });
83 </script>
84 </body>
85 </html>
6、Vue中的v-if、v-for、v-show命令。
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11 <!-- Vue中的v-if、v-for、v-show命令 -->
12 <div id="app1">
13 <!-- v-if会让div标签消失 -->
14 <div v-if="show">{{msg}}</div>
15 <button type="button" @click="handleClick">toggle</button>
16
17 <br/><br/>
18
19 <!-- v-show标签是将div的样式display属性设置为none的,style="display: none;" -->
20 <div v-show="show">{{msg}}</div>
21 <button type="button" @click="handleClick2">toggle</button>
22
23 <!-- v-for标签进行循环操作 -->
24 <ul>
25 <!-- 将list的值放到item里面,然后将item展示出来。:key加强渲染,但是循环值必须不同。 -->
26 <li v-for="(item,index) of list" :key="item">{{item}}</li>
27 </ul>
28 </div>
29
30
31
32 <script type="text/javascript">
33 var vue1 = new Vue({
34 el:"#app1",
35 data:{
36 msg:"您好,vue!",
37 show:true,
38 list:[11,22,33,44,55,66]
39 },
40 methods:{
41 handleClick:function(){
42 // this.show = !this.show,表示取show得反。这种思路很巧妙。
43 this.show = !this.show
44 },
45 handleClick2:function(){
46 // this.show = !this.show,表示取show得反。这种思路很巧妙。
47 this.show = !this.show
48 }
49 }
50 });
51
52 </script>
53 </body>
54 </html>
7、Vue的全局组件、局部组件。
1 <!DOCTYPE html>2 <html>
3 <head>
4 <meta charset="UTF-8">
5 <title>vue入门</title>
6 <!-- 引入vue.min.js文件,直接引用这个文件就行了,不用引用jquery.js文件的 -->
7 <script type="text/javascript" src="./vue.min.js"></script>
8 </head>
9 <body>
10
11 <div id="app1">
12 <div>
13 <!-- v-model数据交互 -->
14 <input type="text" name="userName" v-model="inputValue"/>
15 <!-- 点击事件 -->
16 <button @click="handleClick">提交</button>
17 <!-- <ul>
18 循环遍历输出结果
19 <li v-for="(item,index) of list" :key="index">{{item}}</li>
20 </ul> -->
21
22 <!-- 全局组件 -->
23 <!-- <ul>
24 <todo-item v-for="(item,index) of list" :key="index" :content="item">{{item}}</todo-item>
25 </ul> -->
26
27 <!-- 局部组件 -->
28 <ul>
29 <todo-item v-for="(item,index) of list" :key="index" :content="item">{{item}}</todo-item>
30 </ul>
31
32 </div>
33 </div>
34
35
36 <script type="text/javascript">
37 // 组件的拆分。全局组建
38 /*Vue.component(\'todo-item\',{
39 props:[\'content\'],
40 template:\'<li>{{content}}</li>\'
41 });*/
42
43 // 局部组件
44 var toDoItem = {
45 props:[\'content\'],
46 template:\'<li>{{content}}</li>\'
47 };
48
49 // vue实例
50 var vue1 = new Vue({
51 el:"#app1",
52 //局部组件
53 components:{
54 \'todo-item\':toDoItem
55 },
56 data:{
57 msg:"hello vue!",
58 inputValue:\'\',
59 list:[],
60 },
61 methods:{
62 handleClick:function(){
63 // vue的思路围绕着数据进行操作的,之前都是操作的dom.
64 // 判断是否不为空且不为空字符串。
65 if(this.inputValue != null && this.inputValue != \'\'){
66 // 将输入框里面的值加到数组里面,展示在下面的列表里面
67 this.list.push(this.inputValue),
68 // 将输入框里面的值设置为空
69 this.inputValue = \'\'
70 }
71 }
72 }
73 });
74
75 </script>
76 </body>
以上是 vue入门案例 的全部内容, 来源链接: utcz.com/z/376915.html