Ich versuche, Typeahead mit einem Elasticsearch Backend zu implementieren. Die Suche selbst scheint zu funktionieren, jetzt versuche ich, die Optik zu optimieren. Ich möchte einen Ember.Handlebars Helfer verwenden, den ich schrieb. Mein erster Versuch wurde mit handel als Template-Engine:Typeahead und Ember.handelbars
App.SearchComponent = Ember.TextField.extend({
didInsertElement: function() {
App.UserSearchEngine.initialize();
this.initializeTypeahead();
},
initializeTypeahead: function(){
var _this = this;
this.typeahead = this.$().typeahead({
hint: true,
highlight: true,
minLength: 3
},
{
name: _this.$().attr('id') || "typeahead",
// template: 'My: {{firstName}}',
limit: this.get("limit") || 5,
source: App.UserSearchEngine.ttAdapter(),
templates:{
suggestion: Ember.Handlebars.compile('{{firstName}} {{lastName}}')
}
}
);
}
});
Dies gibt mir eine Fehlermeldung:
Uncaught TypeError: Cannot read property 'container' of undefined caused by Ember in the "_triageMustache" helper in the line
var helper = Ember.Handlebars.resolveHelper(options.data.view.container, property);
Dies ist wahrscheinlich auf die Tatsache zurückzuführen ist, dass ich versuchen, eine Vorlage direkt zu kompilieren.
Wenn ich Handlebars.compile() anstelle von Ember.Handlebars.compile() verwenden würde, würde es funktionieren. Es scheint, dass der Kontext nicht korrekt ist.
Alle Nachrichten auf diesem? –