Mam widok, który używa biblioteki innej firmy do renderowania dodatkowych elementów DOM w hoście didInsertElement. Po dodaniu nowych elementów muszę dodać do nich widoki podrzędne, aby mogły renderować dane dynamiczne.Jak programowo dodać widoki podrzędne do widoku Ember w określonych selektorach DOM?
Oto, co starałem:
App.MyView = Ember.View.extend({
didInsertElement: function() {
create3rdPartyDomElements();
var element = this.$('someSelector');
childView = this.createChildView(App.SomeViewClass, attributesDict);
childView.appendTo(element);
}
});
(jsbin: http://jsbin.com/idoyic/3)
Czyni to moje poglądy zgodnie z oczekiwaniami, ale daje następujący błąd twierdzenia z Ember RC 7: „Nie można dołączyć do istniejącej Ember.View. Zamiast tego rozważ użycie Ember.ContainerView. "
Próbowałem rozszerzyć ContainerView, zgodnie z zaleceniami here i to działa, ale nie mam możliwości wstawiania widoków podrzędnych w określonych selektorach DOM. Po prostu wstawia widoki podrzędne na początku widoku rodzica.
Czy ktoś może mi pomóc? Wielkie dzięki!
Czy chcesz użyć powiązań lub innych technologii ember w tym wygenerowanym domenie? Czy jest to po prostu coś wizualnego i nie jest ważne? Jakie jest twoje libra osób trzecich? –
To http://codemirror.net/ i tak - potrzebuję użyć powiązań w wygenerowanym domenie.Nie do zsynchronizowania kodu w edytorze, ale do dodania dodatkowych widżetów wizualnych do edytora. –
Ten hack został zasugerowany na IRC, ale wydaje się, że po przełączeniu kilku tras tworzy pewne brzydkie efekty uboczne: http://jsbin.com/owepeh/1 –