我有一个使用jQuery插件格式化数字的组件。这是插件:https://github.com/asual/jquery-format
我将插件包含在我的Brocfile中(使用ember-cli)
app.import('vendor/jquery.format-1.3.min.js');
在我的组件中,我可以成功访问我的组件,如:
didInsertElement: function() {
var formattedNum = $.format.number(val, '###,###.##');
this.set('val', formattNum');
}
然而,我不断收到来自余烬(jshint)的警告,表示它并没有认识到' $'变量。我相信访问底层jQuery变量的正确方法是执行以下操作:
didInsertElement: function() {
var formattedNum = this.$.format.number(val, '###,###.##');
this.set('val', formattNum');
}
不幸的是,当我这样做时,我总是收到错误:'无法读取属性'数字'未定义的。这是访问此插件方法的不同方法吗?我试过这个。$()。format.number(..)和这个。$ .format.number(...)。两者都失败了。
安德鲁
答案 0 :(得分:0)
我认为您需要一个计算函数而不是使用didInsertElement。您应该在发布到页面之前获取项目,并格式化项目的数字字段。例如,在component.js中尝试这个:
formatSomething : Ember.computed('item', function () {
this.set('item.val', this.$.format.number(this.get('item.val'), '###,###.##'));
}),
答案 1 :(得分:-1)
您应该可以使用window.$
代替this.$
来访问它。
this.$
将在didInsertElement
所属的对象(可能是您的组件)上调用它