vue 3.0可以挂载多个使用类名的元素吗?

uqdfh47h  于 2022-11-17  发布在  Vue.js
关注(0)|答案(1)|浏览(194)

我想使格式化的文本输入如下:

<input type="text" class="number-format" v-model="numberModel">
...

以及安装元件:

const numberInput = {
    computed: {
        numberModel: {
            get: function() {
                return new Intl.NumberFormat().format(this.value);
            },
            set: function(n) {
                this.value = parseInt(n.replaceAll(",", ""));
            }
        }
    },
    data: function() {
        return {
            value: ""
        }
    }
}
Vue.createApp(numberInput).mount(".number-format");

但它只安装了**.number-format**的第一个元素。我想使vue根应用程序类似于组件(但它不是组件)。

<number-format-input ........> (x)
<input type="text" ....> (o)

有什么可能的解决办法吗?

qxsslcnc

qxsslcnc1#

mount()期望其参数解析为单个DOM节点。它可以是DOM节点本身或CSS选择器-但如果多个节点与CSS选择器匹配,则只有第一个节点将被替换为生成的Vue示例。
您将需要首先注册一个全局Vue组件-然后在模板中使用该组件,可能需要使用v-for指令来定义该组件的多个示例。

相关问题