Vue.js 避免vue 3输入组件将一个值拆分为两个值的eslint错误的最佳方法

Vue.js 避免vue 3输入组件将一个值拆分为两个值的eslint错误的最佳方法,vue.js,vuejs3,vue-composition-api,Vue.js,Vuejs3,Vue Composition Api,请参阅以下代码 铬 博士 从“vue”导入{computed}; 导出默认值{ 名称:“新余额”, 道具:[“模型值”], 设置(道具,{emit}){ 函数设置值(数量、类型){ 设v=数量(金额); 如果(类型==“CR”)v=v*-1; 发射(“更新:模型值”,v); } 常数量=计算的({ 得到(){ 返回Math.abs(Number(props.modelValue)); }, 集合(v){ 设置值(v,类型值); }, }); 常数类型=计算的({ 得到(){ if(Number

请参阅以下代码


铬
博士
从“vue”导入{computed};
导出默认值{
名称:“新余额”,
道具:[“模型值”],
设置(道具,{emit}){
函数设置值(数量、类型){
设v=数量(金额);
如果(类型==“CR”)v=v*-1;
发射(“更新:模型值”,v);
}
常数量=计算的({
得到(){
返回Math.abs(Number(props.modelValue));
},
集合(v){
设置值(v,类型值);
},
});
常数类型=计算的({
得到(){
if(Number(props.modelValue)<0)返回“CR”;
返回“DR”;
},
集合(v){
设定值(金额值,v);
},
});
返回{金额,类型};
},
};
在该组件中,两个值作为输入作为输出,另一个计算值作为输出。 现在,如果禁用了eslint,则上述代码可以工作,否则将显示金额设置器中未定义“类型”

我尝试了同一过程的多种组合,即使使用ref和watcher,但似乎没有任何东西像上面的代码那样有效(不会增加太多复杂性)或优雅

vue 2选项api使用的是
这个
,它更简单(是的,我知道我可以在vue 3中使用选项api,但其他逻辑在合成api中,我不想仅仅为此添加选项api。)

那么,有没有其他方法可以在不禁用eslint的情况下以相同的方式工作(并且易于理解)?(即使是单线也不行)


更新
虽然公认的答案完全符合我的要求,但最受欢迎的是更多的替代方法。

如果您愿意,将它们嵌套在对象中可以解决此问题:

导出默认值{
名称:“新余额”,
道具:[“模型值”],
设置(道具,{emit}){
函数设置值(数量、类型){
设v=数量(金额);
如果(类型==“CR”)v=v*-1;
发射(“更新:模型值”,v);
}
常数存储={
金额:计算({
得到(){
返回Math.abs(Number(props.modelValue));
},
集合(v){
设置值(v,store.type.value);
}
}),
类型:计算型({
得到(){
if(Number(props.modelValue)<0)返回“CR”;
返回“DR”;
},
集合(v){
设置值(存储量值,v);
}
})
}
返回{…存储};
}
}

如果您愿意,将它们嵌套在对象中可以解决此问题:

导出默认值{
名称:“新余额”,
道具:[“模型值”],
设置(道具,{emit}){
函数设置值(数量、类型){
设v=数量(金额);
如果(类型==“CR”)v=v*-1;
发射(“更新:模型值”,v);
}
常数存储={
金额:计算({
得到(){
返回Math.abs(Number(props.modelValue));
},
集合(v){
设置值(v,store.type.value);
}
}),
类型:计算型({
得到(){
if(Number(props.modelValue)<0)返回“CR”;
返回“DR”;
},
集合(v){
设置值(存储量值,v);
}
})
}
返回{…存储};
}
}

这似乎正是我所要求的。将在测试后标记为已接受。谢谢这似乎正是我所要求的。将在测试后标记为已接受。谢谢