首页 > 解决方案 > Vue.js 绑定模型将字符串转换为数字

问题描述

我有一个输入绑定:

v-model: user.settings.filter(item => item.id === 1)[0].value

问题是 value 是一个字符串,它不起作用。如何转换为数字?

用户变量是来自 vuex 的计算属性:

    computed: {
        ...mapGetters({
            user: 'auth/user',
        }),
    },

如果此变量在数据中,那将很容易……但在计算属性中,我不知道如何操作它。

标签: vue.jstype-conversionmodel-binding

解决方案


修复它损坏的地方。这意味着如果你value从某个地方的 api 获取,你必须修复 api 以便它返回一个数字而不是一个字符串。如果您从某处的应用程序中获取它,则需要将其保存为数字而不是字符串。如果它是在 Vuex getter 中动态计算的,请使用parseInt(..)( docs ) 或parseFloat(..)( docs ) 将字符串中的任何内容解析为数字。但请记住,如果您在字符串中有废话,您最终可能会在该属性中得到 NaN。


推荐阅读