VUE.JS学习笔记

1.渲染

 1 <!DOCTYPE html>
 2 <html>
 3 
 4 <head>
 5     <meta charset="UTF-8">
 6     <title>vue</title>
 7     <script src="vue.js"></script>
 8 </head>
 9 
10 <body>
11     <div id="app">
12         {{message}}
13     </div>
14 </body>
15 
16 <script>
17 var app = new Vue({
18     el:'#app',
19     data:{
20         message:'hello'
21     }
22 })
23 </script>
24 
25 </html>

2.绑定元素属性

v-bind:属性=

 1 <body >
 2     <div id="app" v-bind:title='title'>
 3         {{message}}
 4     </div>
 5 </body>
 6 
 7 <script>
 8 var app = new Vue({
 9     el:'#app',
10     data:{
11         message:'hello',
12         title:'hello'
13     }
14 })

3.条件渲染

v-if=’属性名‘ (ture/false

v-show (css隐藏

 1 <body >
 2     <div id="app" v-if='welcome'>
 3         {{message}}
 4     </div>
 5 </body>
 6 
 7 <script>
 8 var app = new Vue({
 9     el:'#app',
10     data:{
11         message:'hello',
12         welcome:false
13     }
14 })
15 </script>

4.用户输入

 1 <body >
 2     <div id="app" v-if='welcome'>
 3         {{message}}
 4         <button v-on:click='logMessage'>按钮</button>
 5         <input v-model='message' type="text">
 6     
 7     </div>
 8     
 9 </body>
10 
11 <script>
12     var app = new Vue({
13     el:'#app',
14     methods:{
15 
16         logMessage(){
17             console.log(this.message);
18         }
19 
20     },
21     data:{
22         message:'hello',
23         welcome:true
24     }
25 })
26 </script>

5.循环渲染

 1 <body>
 2     <div id="app">
 3         <ol>
 4             <li v-for="comment in comments">
 5                 {{comment.comment}}
 6             </li>
 7         </ol>
 8     </div>
 9 </body>
10 
11 <script>
12 var app = new Vue({
13     el:'#app',
14     data: {
15         comments:[
16             { comment:'123'},
17             { comment:'456'},
18             { comment:'789'}
19         ]
20     }
21 })
22 </script>

6组件

可以把应用的不同部分定义成组件,更好重复的使用

 1 <body>
 2     <div id="app">
 3         <ol>
 4             <comment
 5             v-for="comment in comments"
 6             v-bind:comment="comment">
 7             </comment>
 8         </ol>
 9     </div>
10 </body>
11 
12 <script>
13     //组件名
14 Vue.component('comment',{
15     //该组件的属性
16     props:['comment'],
17     //模板
18     template:'<li>{{comment.content}}</li>'
19 })
20 
21 var app = new Vue({
22     el:'#app',
23     data: {
24         comments:[
25             { content:'123'},
26             { content:'456'},
27             { content:'789'}
28         ]
29     }
30 })
31 </script>
原文地址:https://www.cnblogs.com/fanner7/p/10739533.html