Web前端之javascript框架vue

vue框架-----"响应式"框架。

视图

1.由{{}}占位, 匹配的是模型数据(存储于data:{})的属性名称
2.每个页面要创建一个Vue实例
3.el对应的dom元素,把数据和视图结合在一起
4.计算属性computed,对应一个函数

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">{{nameReverse}}</div>

<script>
    var vue = new Vue({
        
        data: {
            name: "hello, world"
        },

        el:"#app",

	computed: {          
            nameReverse : function(){
                return this.name.split("").reverse().join("");
        }
    });
</script>
</body>
</html>

v-for 循环指令

<div id="app">
    <p v-for="p in list"> {{p.name}} , {{p.price}}, {{p.img}}</p>

    <p v-for="(p,i) in list"> {{p.name}} , {{p.price}}, {{p.img}}</p>
</div>
<script>   
    var vue = new Vue({
        el:"#app",
        data:{
            list:[
                {name:"商品1", price:3000.00, img:"图片名1.jpg"},
                {name:"商品2", price:4000.00, img:"图片名2.jpg"},
                {name:"商品3", price:2000.00, img:"图片名3.jpg"}
            ]
        }
    });
</script>

v-if 条件指令:条件不成立视图上不会有这个标签

<div id="app">
   
    <table border="1" width="100%" v-if="list.length>0">
        <tbody>            
            <tr v-for="(p,i) in list">
                <td>{{i+1}}</td>
                <td>{{p.name}}</td>
                <td>{{p.price}}</td>
                <td>{{p.img}}</td>
            </tr>
        </tbody>
    </table>
    <span v-else>物品已售罄</span>
</div>

<script>   
    var vue = new Vue({
        el:"#app",
        data:{
            list:[
                {name:"商品1", price:3000.00, img:"图片名1.jpg"},
                {name:"商品2", price:4000.00, img:"图片名2.jpg"},
                {name:"商品3", price:2000.00, img:"图片名3.jpg"}
            ]
        }
    });
</script>

v-show 指令:条件不成立时,标签根本不会出现,隐藏了标签

绑定属性

1.v-bind:单向绑定:视图的修改不影响模型

	格式:v-bind:属性名="变量"

            简化写法::属性名="变量"
2.v-model:双向绑定:视图的修改影响模型

7. 事件处理

格式:v-on:事件名
    简化写法:@事件名

猜你喜欢

转载自blog.csdn.net/Eternity_y/article/details/82795748