Vue常用指令(二)

6、v-for

基于源数据多次渲染元素或模板块。

图示:

代码:

<body>
<div id="app">
    <p v-for="(score, index) in scores">
        索引: {{index }} , 分数: {{score}}
    </p>
    <div v-for="(d, key) in dog">
        {{key + ':' + d}}
    </div>
</div>

<script src="js/vue.js"></script>
<script>
    // 1. 创建Vue的实例
    new Vue({
        el: '#app',
        data: {
           scores: [100, 90, 70, 60, 5],  //  数组
           dog: {name: 'Python', age: 2, width: 1.44, weight: '100斤'},  //  对象
        }
    });
</script>

7、v-for小案例

图示:

代码:

<body>
<div id="app">
    <table>
        <thead>
           <tr>
               <th>姓名</th>
               <th>年龄</th>
               <th>性别</th>
           </tr>
        </thead>
        <tbody>
           <tr v-for="(p, index) in persons">
               <td>{{p.name}}</td>
               <td>{{p.age}}</td>
               <td>{{p.sex}}</td>
           </tr>
        </tbody>
    </table>
</div>

<script src="js/vue.js"></script>
<script>
    // 1. 创建Vue的实例
    new Vue({
        el: '#app',
        data: {
           persons: [
               {name: '张三', age: 18, sex: '男'},
               {name: '李四', age: 28, sex: '女'},
               {name: '张三', age: 18, sex: '男'},
               {name: '王五', age: 38, sex: '女'}
           ]
        }
    });
</script>

8、v-bind  

v-bind  主要用于属性绑定

图示:

代码:

<body>
<div id="app">
    <img v-bind:src="imgSrc" v-bind:alt="alt">
    <img :src="imgSrc1" :alt="alt">
</div>

<script src="js/vue.js"></script>
<script>
    // 1. 创建Vue的实例
    new Vue({
        el: '#app',
        data: {
           imgSrc: 'img/img_01.jpg',
           imgSrc1: 'img/img_02.jpg',
           alt: '风景'
        }
    });
</script>

 

9、v-on

绑定事件监听器。事件类型由参数指定。表达式可以是一个方法的名字或一个内联语句,如果没有修饰符也可以省略。

图示:

代码:

<body>
<div id="app">
    <p>{{msg}}</p>
    <button v-on:click="msg = 'Java'">改变内容</button>
    <button @click="msg = 'Vue'">改变内容</button>
    <button @click="changeContent()">改变内容</button>
</div>

<script src="js/vue.js"></script>
<script>
    // 1. 创建Vue的实例
    new Vue({
        el: '#app',
        data: {
          msg: 'Python'
        },
        methods: {
            changeContent() {
                this.msg = '编程';
            }
        }
    });
</script>

10、v-model

预期:随表单控件类型不同而不同。

图示:

代码:

<body>
    <div id="app">
        <h1>{{msg}}</h1>
        <input type="text" v-model="msg">
    </div>

<script src="js/vue.js"></script>
<script>
    // 1. 创建Vue的实例
    new Vue({
        el: '#app',
        data: {
            msg: 'hello'
        }
    });
</script>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章