举个简单的例子:输入货币数据的文本框.

我试过vue指令.由于其他控件而刷新UI时,不会调用指令的更新方法.所以文本框中的值会恢复为不带任何格式的值.

我还try 了v-on:change事件处理程序.但我不知道如何在事件处理程序中调用全局函数.在每个Vue对象中创建货币转换方法不是一个好做法.

那么,现在Vue 2.0中的标准格式是什么?

当做

推荐答案

请判断这个正在工作的JSFIDLE示例:https://jsfiddle.net/mani04/bgzhw68m/

在本例中,格式化的货币输入本身就是一个组件,与Vue中的任何其他表单元素一样使用v-model.js.可以按如下方式初始化此组件:

<my-currency-input v-model="price"></my-currency-input>

my-currency-input是一个独立的组件,当输入框为inactive时,它会格式化货币值.当用户将光标放入其中时,格式将被删除,以便用户可以轻松地修改值.

以下是它的工作原理:

my-currency-input分量的计算值为-displayValue,定义了getset种方法.在get方法中,如果输入框未激活,它将返回格式化的货币值.

当用户在输入框中输入时,displayValue computed property的set方法使用$emit发出值,从而将此更改通知父组件.

在自定义组件上使用v-model的参考:https://vuejs.org/v2/guide/components.html#Form-Input-Components-using-Custom-Events

Vue.js相关问答推荐

如何禁用Vuetify v—stepper操作按钮

Vue CDN的html工作,但v—如果不工作

Vue 3:插槽属性 - 可以通过 props 传递数据吗?

在 onMounted 之前渲染的 Vue 模板

Vuejs - 更新数组中对象的数组

如何从mustache内的过滤器输出html

在重复表行中

从数据库中删除后,Vue.js $remove 不删除元素

带有参数的 Vuex 映射 Getter - 缓存?

使用 Laravel 作为后端刷新 Vue.js SPA 的身份验证令牌

VuetifyJS:如何摆脱 v-stepper 组件的提升?

我可以从手表调用方法并安装吗?

Laravel Vue - 如何让 vue 在公共文件夹中查找图像

重新加载发布到 Github 页面的 Vue 网站时出现 404

如何使表格行可点击并展开行 - vue.js - element-ui

如何将 vuetify 2.0 beta 安装到新的 vue cli 项目中?

使用 Vee-Validate 在提交时验证子输入组件

Javascript/vue.js 接收json

使用 refs 聚焦元素目标

Vue Js如何在单个文件模板中使用mixins?