0

これは、stackoverflow での最初の投稿です。

私は ember.js が初めてで、ember.js を勉強しています。

現在、ember.js を学習する小さなアプリを作成していますが、バインディングがなぜか機能しません。

助けてください!!

#------------------------Controller------------------------


App.ApplicationController = Ember.Controller.extend();

App.monstersController = Ember.ArrayProxy.create({

content:[],

//some code to add model instances to content...

counter: function(){
var content = this.get('content');
return content.get('length');
}.property('length')

});


#------------------------View------------------------


App.StatsView = Ember.View.extend({
counterBinding : 'App.monstersController.counter',



#------------------------HTML------------------------

<script type="text/x-handlebars" data-template-name="application">

//some code here

{{#view App.StatsView}}Counter: {{counter}}{{/view}}

//I'm expecting the length of content array in App.monstersController above.

//some code here

</script>
4

1 に答える 1

1

ビューの値にアクセスしたい場合は、 経由でアクセスする必要があります{{view.counter}}

ただし、あなたの場合、おそらく次のようにビューにコントローラーを設定する必要があります。

App.StatsView = Ember.View.extend({
  controllerBinding : 'App.monstersController'
})

慣れてきたら、ルーターを設定してコントローラーとビューをまとめて管理する方法を検討します。

于 2012-12-14T07:22:37.370 に答える