要使用colorselector插件,应在之后调用colorselector()
函数
在浏览器中呈现带有选项的选择。但是,使用ember didInsertElement
无效,因为在插入<option>
标记之前触发了回调!
我尝试了这个:
App.ColorSelector = Ember.Select.extend({
_initialize: function() {
console.log(this.$().find('option').size()); // logs 0
this.$().colorselector();
}.on('didInsertElement');
});
App.ColorSelector = Ember.Select.extend({
_initialize: function() {
Ember.run.scheduleOnce('afterRender', this, function() {
console.log(this.$().find('option').size()); // logs 0
this.$().colorselector();
});
}.on('didInsertElement');
});
编辑:
使用@SeanK建议:
App.ColorSelector = Ember.Select.extend({
didInsertElement: function() {
console.log(this.$().find('option').size()); // logs 0
this.$().colorselector();
}
});
在ember插入带有所有
colorselector()
标记的<select>
后如何运行<option>
函数调用? 最佳答案
这对我来说适合Ember 1.7.0
App = Em.Application.create();
App.ApplicationController = Ember.Controller.extend({
colors: ['blue', 'green']
});
App.ColorSelector = Ember.Select.extend({
didInsertElement: function() {
console.log(this.$().find('option').size()); // logs 2
//this.$().colorselector();
}
});
Ember.Handlebars.helper('color-selector', App.ColorSelector);
模板:
<script type="text/x-handlebars">
{{color-selector content=colors}}
</script>