Vue 2.0 入门系列(2)列表

发布时间:2019-05-28 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了Vue 2.0 入门系列(2)列表脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

假如有一个姓名数组:

names: ["jack","rose","kaka","curry"]

Vue 中如何显示和添加元素呢?

v-for

{{ }}v-text 如果用来输出数组,会直接显示整个数组。因此,我们需要 v-for 来显示数组:

// html
<div id="root">
    <ul>
        <li v-for = "name in names"> {{ name }}</li>
    </ul>
</div>

// js
let data = {
    names: ["jack","rose","kaka","curry"]
};

var vm = new Vue({
    el: '#root',
    data:data
})

现在,我们考虑为数组添加元素,效果如下

Vue 2.0 入门系列(2)列表

功能很简单:添加姓名,然后清空输入框

用 js 添加姓名

首先,考虑用 js 实现:

<div id="root">
    <ul>
        <li v-for = "name in names"> {{ name }}</li>
    </ul>
    <input type="text" id="addName">
    <button id="submit">添加姓名</button>
</div>


// js
let data = {
    names: ["jack","rose","kaka","curry"]
};

var vm = new Vue({
    el: '#root',
    data:data,
    mounted() { 
        document.querySelector('#submit').addEventListener('click',function(){

            let nameElement = document.querySelector('#addName'); //监听
            vm.names.push(nameElement.value); // 添加姓名
            nameElement.value = ''; // 清空输入框
        })
    }
});

实例一加载,就会执行 mounted 函数,我们使用了简写,相当于:

mounted:function(){
}

用 vue 添加姓名

现在,我们来用 Vue 实现同样的功能:

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="https://cdn.bootcss.com/vue/2.2.6/vue.js"></script>
    
</head>
<body>
    <div id="root">
        <li v-for = "name in names"> {{ name }}</li>
        <input type="text" v-model="newName">
        <button v-on:click="addName()">添加姓名</button>
    </div>

    <script>

        let data = {
            names: ["jack","rose","kaka","curry"],
            newName: ""  // 绑定 input 元素,最初为空
        };

        var vm = new Vue({
            el: '#root',
            data:data,
            methods: {
                addName() {
                    vm.names.push(vm.newName);
                    vm.newName = "";
                }
            }
        });

    </script>
</body>
</html>

这里,主要使用了 v-on 指令,一但用户点击添加按钮,就会触发 addName() 方法。v-on 也可以简写成 @:

<button @click="addName()">添加姓名</button>

方法需要放入 methods 属性,这样既可以通过 vm 来访问,也可以在指令表达式中使用。

附录:

脚本宝典总结

以上是脚本宝典为你收集整理的Vue 2.0 入门系列(2)列表全部内容,希望文章能够帮你解决Vue 2.0 入门系列(2)列表所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:Vue