Vue 计算未更新

时间:2021-04-08 20:56:44

标签: vue.js vuejs3 vue-composition-api

我有一个我想使用的计算函数,但我一直收到“已分配计算属性但它没有设置器”。我只是想删除所有正斜杠和末尾的“SYG”:99/KRFS/010572//SYG,当它粘贴到 v-model 输入中以实现此目的时:99KRFS010572。

这是我的设置函数

<input v-model="policyMapName" />
policy-map <span>{{ policyMapName }}</span>

setup() {
    const circuitID = ref('99/KRFS/010572//SYG');

    const policyMapName = computed(() => {
        const cID = circuitID.value;

        return cID.replace(/[/]/g, '').slice(0, -3);
    });
}

1 个答案:

答案 0 :(得分:0)

您应该使用 getter 向您的 computed 属性添加一个 setter:


<input v-model="policyMapName" />
policy-map <span>{{ policyMapName }}</span>

setup() {
    const circuitID = ref('99/KRFS/010572//SYG');

    const policyMapName = computed({
      get: () => {
        const cID = circuitID.value;

        return cID.replace(/[/]/g, '').slice(0, -3);
     },
    set:(newval)=>{
        circuitID.value =newval
    }   
 });
}