2015-08-27 3 views
1

В настоящее время я пытаюсь создать как бесконечный прокрутки, поместив некоторую кнопку в шаблоне, чтобы загрузить больше данных.Обновление модели Ember от контроллера

ниже приведен код

index.hbs

{{#each model}} 
    <p>{{name}}</p> 
{{/each}} 
<button {{action "addMore"}}>Add More</button> 

контроллер/index.js

import Ember from 'ember'; 

export default Ember.ArrayController.extend({ 
    actions:{ 
    addMore: function(){ 
     this.get("model").push({name:"some data"}); 
    } 
    } 
}); 

и маршрут index.js

import Ember from 'ember'; 

export default Ember.Route.extend({ 
    model: function() { 
    var v=[]; 
    return v; 
    } 
}); 

Проблема заключалась в том, после того, как пользователь нажал тон, контроллер ввел данные в модель, но шаблон не показывал модель с текущими данными (данные после того, как контроллер ввел новые данные в модель).

пожалуйста, помогите

благодаря

ответ

2

Несколько вещей, которые неправильно/осуждается в вашем коде:

  • Ember.ArrayController устарела, используйте Ember.Controller вместо этого.

export default Ember.ArrayController.extend становится export default Ember.Controller.extend

  • {{#each model}} теперь принимает форму {{#each model as |myNameObject|}}} (старый способ все еще работает, но рекомендуется использовать блок области видимости) и в шаблоне вы будете использовать {{myNameObject.name}}

  • Вы используете .push, когда вы должны использовать pushObject

JsBin demo.

+0

спасибо большое sir/madame – marendra

+0

@ user3720044 Np ^^ если ответ помог вам и решил проблему, отметьте зеленую стрелку, чтобы отметить ее как принятую, [подробнее] (http://meta.stackexchange.com/ а/5235/229592) –

Смежные вопросы