在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ vue watch 監(jiān)聽 對象中的數(shù)組

vue watch 監(jiān)聽 對象中的數(shù)組

data(){
    return {
        form: {
            arr: [0, 1, 2]
        }
    }
}

this.form.arr[3] = 3;

如何監(jiān)聽到arr中元素的變化?

我嘗試用deep: true未生效

補充:

<el-form-item label="省市區(qū)" prop="citys">
    <el-cascader
            placeholder="請選擇省市區(qū)"
            style="width: 100%"
            :props="{
            label: 'name',
            value: 'id',
        }"
            :options="cityList"
            v-model="form.citys"
    ></el-cascader>
</el-form-item>
回答
編輯回答
怪痞

form.citys變化時,不要his.form.citys = {xxx},用this.$set方法可以讓vue對該數(shù)組重新建立監(jiān)聽,使v-model繼續(xù)有效。

比如想把ajax拿到的返回值res.data賦值給form.citys:
this.form.citys = this.$set({}, res.data);

2017年3月6日 14:11
編輯回答
莓森

this.form.arr.splice(3, 1, 3)

2018年9月1日 14:38
編輯回答
拼未來

Vue 包含一組觀察數(shù)組的變異方法,直接通過索引修改數(shù)組元素是監(jiān)聽不到數(shù)組變化的。

https://cn.vuejs.org/v2/guide...

2017年11月3日 08:00
編輯回答
咕嚕嚕

可以看一下 vue數(shù)據(jù)響應(yīng)式原理,vue是通過數(shù)據(jù)劫持,數(shù)組是沒法做到這一步的。如果只是通過數(shù)組的方式訪問是無法監(jiān)聽到數(shù)據(jù)元素的變化的

2017年3月28日 00:31
編輯回答
青瓷

直接深復(fù)制一下數(shù)組就可以
百度一下js 深復(fù)制

2017年5月28日 10:33
編輯回答
荒城
this.from.arr.push(3)
2017年2月1日 03:07