2
4

1 に答える 1

0

高速な方法を使用した場合、この dfata が変更されたことをビューに通知するにはどうすればよいですか?

ビューに通知する必要はありません。これはバインディングを介して処理されます。あなたの例では、バインディングが自動的に更新されるのを妨げるものは何も見られず、デモ用に簡単な jsFiddle を作成しました。以下の場合、ユーザーがボタンの 1 つを押すとステーションのリストが変更され、ビューが自動的に更新されます。

App = Ember.Application.create({});
App.Router.map( function() {
    this.route('stationList', {path: '/'});
    this.route('station', {path: '/station/:station_id'});
});
App.Station = Ember.Object.extend({});
App.StationListController = Ember.ObjectController.extend({
    content     : [],
    initials    : [
        [{u:1,n:'Abe'}, {u:2,n:'Ace'}],                                                                   [{u:1,n:'Barb'}, {u:2,n:'Bob'}]
    ],
    setByInitial : function(initial)
    {
      console.log('setByInitial', initial); 
      this.set("content",this.initials[initial])
    }
});

<script type="text/x-handlebars" id="stationList">
  <h2>Stations:</h2>
    <button {{action setByInitial '0'}}>A</button>
    <button {{action setByInitial '1'}}>B</button>
   <ul>
    {{#each content}}
        <li>{{#linkTo "station" u}}{{n}}{{/linkTo}}</li>
    {{/each}}
    </ul>
</script>

参照: http://jsfiddle.net/mgrassotti/7f4w7/1/

于 2013-06-25T12:35:04.170 に答える