javascript - 使用 push() 添加新元素后,VueJS 检测 DOM 何时准备好

标签 javascript vue.js vuejs2

在 vueJS 中我有一个 <table> 。如果我单击一个按钮,将使用以下命令将新行插入到表中:

this.rows.push({
        title: '',
        price: ''
      });

问题是我正在使用这个函数:

$(".price").numeric({
        decimal: false,
        negative: false
      });

这是一个强制输入只能为整数的 jquery 函数。 因此,当添加具有输入的新行时,上述函数不再起作用。

如果我添加一个新行并运行

$(".u-price").numeric({
        decimal: false,
        negative: false
      });

这将使新行只接受整数

我也尝试过像这样一次完成所有操作:

addRow() {
      this.rows.push({
        title: '',
        price: '',
      });
      $(".price").numeric({
        decimal: false,
        negative: false
      });
    },

要立即切换数字助手,但它不起作用。 那么如何检测何时添加新行,以便之后运行数字助手?

最佳答案

我会按原样使用指令。

Vue.directive('numeric', {
  inserted(el) {
    $(el).numeric({
      decimal: false,
      negative: false
    })
  }
})

在模板中:

<input v-numeric type="text" />

Working pen .

关于javascript - 使用 push() 添加新元素后,VueJS 检测 DOM 何时准备好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46837178/

相关文章:

javascript - 从 API 提取数据时的微调器 (Javascript)

javascript - 如何使用一组点创建 ZigZag 模式

javascript - vue.js 和 firebase 查询给出错误的数组计数

node.js - 如何解决此错误 TypeError [ERR_INVALID_ARG_TYPE] : The 'request' argument must be string. 使用 nuxt.js 接收到的类型未定义

javascript - vue.js 与 vuetify : Can't load google map in mounted

javascript - Vuetifyjs 网格在小屏幕上无法调整大小

javascript - Vuejs 2 图像 slider

javascript - jQuery函数的原型(prototype)重写

javascript - 用具有相同文本的输入替换跨度

javascript - Vue.js:当用户登录或未登录时,根据 Vuex Store 状态显示/隐藏导航栏上的按钮