将引导标签包装到Ember组件中
Wrapping bootstrap-tags into Ember Component
所以,我使用引导标签从https://github.com/maxwells/bootstrap-tags。我正试图将标签实现到Ember组件中,该组件目前看起来像这样:
import Ember from 'ember';
export default Ember.Component.extend({
tagName: 'input',
classNames: null,
value: null,
initTagsInput() {
const $el = this.$();
const _this = this;
$el.tag({
placeholder: 'enter associated plasmids',
beforeAddingTag: function(tag){ //here is my problem I think?
this.set('value', tag);
}
})
},
didInsertElement() {
this._super();
this.initTagsInput();
}
});
我遇到的问题是试图设置值,但是当我检查我的控制台或ember调试器时,没有值被分配(值仍然为空)。这就像beforeAddingTag从来没有工作!我是ember的新手,所以包装这个库的任何清晰度都会有所帮助。
我需要在某处使用一个可观察对象吗?
我想你要:
this.set('value', tag);
:
_this.set('value', tag);
和
this.$().tag(/**/)
:
this.$().tags(/**/)
这个库的例子也使用了div
,所以我们可以删除:
tagName: 'input'
在这个库中,占位符的添加方式也不同:
placeholder: 'enter associated plasmids'
应:placeholderText: 'enter associated plasmids'
也就是说,我们可以让this
引用来自ES6的胖箭头的外部上下文,并使其更漂亮:
import Ember from 'ember';
export default Ember.Component.extend({
classNames: null,
value: null,
initTagsInput() {
this.$().tags({
placeholderText: 'enter associated plasmids',
beforeAddingTag: tag => {
this.set('value', tag);
}
})
},
didInsertElement() {
this._super();
this.initTagsInput();
}
});
相关文章:
- 将ember对象的数组从ember组件传递到模板
- Ember组件'jQuery可排序的模板问题
- 如何动态渲染 Ember 组件
- Ember组件:将attr绑定到每个属性中
- 如何获取 Ember 组件对象内部承诺成功或错误回调
- Emberjs-1.0 将控制器实例传递给 ember 组件
- 如何使 ember 组件从服务器获取数据.将 AJAX 调用放在组件中似乎不是处理此问题的好做法
- 侦听 Ember 组件外部的点击的正确方法是什么?
- 在JS文件中抓取Ember组件的内容
- 如何在应用程序模板中先加载 Ember 组件,然后再加载其他所有内容
- 动态确定 Ember 组件是否存在
- 指定 Ember 组件的目标操作
- Ember组件块在视图中的作用域
- 从DOM元素中获取Ember组件
- Ember组件和动态属性的迭代
- 如何将参数传递给ember组件
- Ember组件加载存储数据
- 新Ember组件中输入助手的最佳实践
- 从Ember 2.0组件调用控制器动作
- 使用Ember组件'的方法