javascript - 在 ember-cli 中安装 jQuery 插件

标签 javascript jquery ember.js ember-cli timepicker

我需要安装this ember-cli 中的 timePicker。

我已在 vendor 文件夹中添加了库,并在 Brocfile.js 中添加了库:

var EmberApp = require('ember-cli/lib/broccoli/ember-app');
var app = new EmberApp();

app.import('vendor/timePicker/jquery-ui-timepicker-addon.js');
app.import('vendor/timePicker/jquery-ui-sliderAccess.js');

module.exports = app.toTree();

我创建了 Components/jquery-ui-timepicker-addon.js:

import Em from "ember";
export default Em.TextField.extend({
  dateFormat:'yy-mm-dd',
  timeFormat: 'HH:mm:ss',
  stepHour: 1,
  stepMinute: 1,
  stepSecond: 1
});

我需要从模板中调用它,但我不知道如何调用。

我认为代码类似于:

 {{jquery-ui-timepicker-addon}}

但什么也没发生。

你能帮我吗?

问候。

最佳答案

当 Ember 将组件放入 DOM 中时,您需要调用 jQuery 插件。该钩子(Hook)名为 didInsertElement

这样做:

import Em from "ember";
export default Em.TextField.extend({
  setupTimepicker: function() {
    this.$().timepicker({
      dateFormat:'yy-mm-dd',
      timeFormat: 'HH:mm:ss',
      stepHour: 1,
      stepMinute: 1,
      stepSecond: 1
    )}
  }.on('didInsertElement')
});

this.$()的解释: this指的是组件和 $()将元素作为 jQuery 对象返回。所以this.$()表示组件作为 jQuery 对象。一旦你有了一个 jQuery 对象的元素,那么你就可以调用 jQuery 插件了。但是您需要等到 Ember 将元素添加到 DOM 后才能访问该元素。

关于javascript - 在 ember-cli 中安装 jQuery 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29687656/

相关文章:

javascript - Foundation 5 下拉按钮在嵌套表格行中不起作用

ember.js - 如何基于异步关系在 Ember 数据模型上执行 Ember.js 计算属性?

javascript - 在 Discord.js 中检测消息中的链接

javascript - ASP>NET MVC 5 中的幻灯片

javascript - 检查数组中的每个元素是否都有特定值

javascript - 刷新 Bootstrap 选项卡

php - 编辑生成内容的特定部分

javascript - 如何使用 Jest 模拟 ES6 模块导入?

javascript - 如何下载服务器在 Ajax 调用中返回的文件?

javascript - 从 JavaScript 转换 Ember.js 应用程序