Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js仅通过一个请求就观察了两次数据变化_Vue.js_Vuejs2 - Fatal编程技术网

Vue.js仅通过一个请求就观察了两次数据变化

Vue.js仅通过一个请求就观察了两次数据变化,vue.js,vuejs2,Vue.js,Vuejs2,请看我的密码。我只设置了app.form=object一次,为什么有两个值被改变了 首先,它从“20”变为“20”,这是我所期望的,但突然它从20变为未定义 代码对ajax请求进行了修改,并直接设置了值 刚才发生了什么?没有设置变量值的选项。无法同步选择对象以显示值,因此它会将值还原为未定义 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title><

请看我的密码。我只设置了app.form=object一次,为什么有两个值被改变了

首先,它从“20”变为“20”,这是我所期望的,但突然它从20变为未定义

代码对ajax请求进行了修改,并直接设置了值


刚才发生了什么?

没有设置变量值的选项。无法同步选择对象以显示值,因此它会将值还原为未定义

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <div id="app">
        <div class="layui-input-block" style="width:510px;">
            <form class="layui-form" action="">
                <select v-model="form.entrCode">
                    <option value="">please select an entry</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                </select>
            </form>
        </div>
    </div>
</body>
</html>

<script src="//cdn.bootcss.com/vue/2.2.4/vue.min.js"></script>
<script type="text/javascript">
    var app = new Vue({
        el: "#app",
        data: {
            action: '',
            form: {
                entrCode: '',
            }
        },
        watch: {
            action: function (val) {
                if (val !== "add"){
                    var vm = this;
                    //$.get("/park/GetLEDDtl", { areaId: vm.form.code }, function (rs) {
                    //    vm.form = rs;
                    //}, "json");

                    //simulate setting on ajax.success
                    vm.form = { "entrCode": "20" };
                }
            },
            "form.entrCode": function (val, old) {
                alert("【entryCode changed】 new:" + val + "    old:" + old);
            }
        },
        created: function () {
            this.action = "edit";
        }
    });
</script>