Ich habe ein übergeordnetes Modell, das viele Kind-Modelle, zum Beispiel hat:Anfügen Child Model zu einem Elternteil Modell in Ember.js
App.Blog = Ember.Object.extend({})
App.Comment = Ember.Object.extend({})
Dann habe ich einen Blick für das Blog:
window.App.BlogView = Ember.View.extend
templateName: 'app_templates_blog'
Jetzt, wenn ich einen Blog über meine REST-API abrufe, enthält er die ersten 10 Kommentare oder so. Diese sind wie folgt instanziiert:
window.App.Blog.reopenClass
create: (obj) ->
Object.tap @_super(obj), (result) =>
if result.comments
result.comments = result.comments.map (p) => App.Comment.create(p)
I Blog anzeigen lassen, indem BlogView.set Aufruf ('Blog', blogInstance) und alles anzeigt perfekt.
Jedoch!
Ich bin eine unendliche Scroll, also wenn der Endbenutzer an den unteren Rand der Kommentare kommt, möchte ich mehr laden. Ich tue dies über REST, aber ich kann nicht für das Leben von mir sie anzeigen, indem ich sie anhängt.
Dies ist, was mein morePosts() -Methode wie in BlogView aussieht:
moreComments:() ->
blog = @get('blog')
jQuery.getJSON "/blogs/#{blog.get('id')}/comments", (result) =>
comments = blog.get('comments')
result.each (c) => comments.push(App.Comment.create(c))
blog.set('comments', comments)
this.set('blog', blog)
Dies scheint jedoch nie die neuen Kommentare hinzufügen. Was mache ich hier falsch?
Hat super funktioniert, danke! –