如果在data()中声明的主属性之一{

但不会在嵌套属性更改时触发.就连我也用过手表.

myApp.component("editfeemodal", {
    props: ['feedetail'],
    data() {
        return {
        }
    },   
    computed: {
        validated: function () {
            try {
                if (this.feedetail.glCode === null || this.feedetail.glCode === "" || typeof this.feedetail.glCode == 'undefined')
                    return false;
                return true;

            } catch (e) {
                alert(e);
            }
        }
    },
    watch: {
        feedetail: {
            handler(newValue, oldValue) {
                this.validFee = false;
            },
            deep: true
        },
    },
    methods: {
        "saveFeeDetails": function () {}
    },
    template:'
     <select v-model="feedetail.glCode" class="form-select" v-bind:class="[feedetail.glCode=='' ?'is-invalid':'']" id="inputGroupSelectGLCode" >
        <option value="" selected>Choose...</option>
        <option value="1000">1000</option>
        <option value="2000">2000</option>
        <option value="3000">3000</option>
       </select>
    '
    })

请问,有人知道为什么以及如何解决这个问题吗?

当做

推荐答案

比较对象时,实际上是将引用与该对象进行比较,因此修改其中的值不会触发监视事件.

您需要使用"深度监视"来针对将要改变的特定值.

watch: {
    searchText: {
        handle(newValue, oldValue) {
            this.result = newValue.text
        },
        deep: true
    }
}

或者,更简短地说:

watch: {
    'searchText.text': function(newValue, oldValue) {
        this.resule = newValue
    }
}

对于一个更完整的例子,这里有一个working CodeSandbox project基于您的代码.

从视图文档:vm.$watch

当改变(而不是替换)对象或数组时,旧值将与新值相同,因为它们引用相同的对象/array.Vue不保留预变异值的副本.

Vue.js相关问答推荐

虚拟DOM在Vue中姗姗来迟

Vuetify 扩展面板,面板标题左侧带有图标

使用 Vue.js 将文件输入绑定到按钮

如何在map中添加新的标记 onclick?

即使响应为 200,也会调用 Axios Catch

在组件上的 Vue 3 中获取 URL 查询参数

使用 Vue Router 设置页面标题

eslint – 如何知道 defined定义规则的位置

从 Url 中删除查询字符串参数

Vuex - 何时从 http 服务器加载/初始化存储数据

为什么 v-model 不适用于数组和 v-for 循环?

如何在 vuetify 中将工具提示添加到数据表标题?

Nuxt.js - API 调用的最佳场所

在 nuxt.js 页面中包含外部 javascript 文件

Vue.js webpack:如何获取目录中的文件列表?

从 vuex 存储访问 $vuetify 实例属性

在 Vue 应用程序中创建一个类的单个实例

Axios 捕获错误请求失败,状态码 404

Vue 3 – 渲染无法动画的非元素根 node

Apollo 客户端在向服务器发送Mutations 时返回400(错误请求)错误