我想使格式化的文本输入如下:
<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)
有什么可能的解决办法吗?
1条答案
按热度按时间qxsslcnc1#
mount()
期望其参数解析为单个DOM节点。它可以是DOM节点本身或CSS选择器-但如果多个节点与CSS选择器匹配,则只有第一个节点将被替换为生成的Vue示例。您将需要首先注册一个全局Vue组件-然后在模板中使用该组件,可能需要使用
v-for
指令来定义该组件的多个示例。