Vue.js 模型数据绑定与数据获取 - 实践教程

输入的姓 名是:{{user.name}}

输入的年 龄是:{{user.age}}

选择的性 别是:{{user.gender}}

选择的爱 好是:{{user.hobby}}

    <hr>

    <form action="">
        姓名:<input type="text" v-model="user.name"><br><br>

        年龄:<input type="text" v-model="user.age"><br><br>

        性别:<input type="radio" value="man" v-model="user.gender">男
        <input type="radio" value="woman" v-model="user.gender">女<br><br>

        爱好:<input type="checkbox" value="sing" v-model="user.hobby">唱
        <input type="checkbox" value="dance" value="sing" v-model="user.hobby">跳
        <input type="checkbox" value="basketball" value="sing" v-model="user.hobby">篮球<br><br>

        <input type="button" id="btn" value="保存" onclick="print()">

    </form>
</div>

<!--1 引入js文件-->
<script src="js/vue copy.js"></script>

<!--2 定义Vue对象,初始化模型数据-->
<script>
    new Vue({
        el: "#app", //定义Vue控制的区域
        data: {
            user: {
                name: "", //姓名
                age: "",  //年龄
                gender: "", //性别
                hobby: []   //由于爱好可能存在多个,使用数组封装          
            }
        }
    });
    function print(){
        var user = document.getElementById("app").__vue__.user;
        alert("姓名:" + user.name);
        alert("年龄:" + user.age);
        alert("性别:" + user.gender);
        alert("爱好:" + user.hobby.join(", "));
    }
</script>

问题出在print函数中的for循环中。你正在尝试遍历一个只有一个元素的dom节点,而不是遍历模型数据中的hobby数组。

修改print函数如下:

function print(){
    var user = document.getElementById("app").__vue__.user;
    alert("姓名:" + user.name);
    alert("年龄:" + user.age);
    alert("性别:" + user.gender);
    alert("爱好:" + user.hobby.join(", "));
}

这样就可以正确地弹出用户录入的数据了。

Vue.js 模型数据绑定与数据获取 - 实践教程

原文地址: https://www.cveoy.top/t/topic/qvlz 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录