2012-12-14 136 views
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> 

回答

1

如果您想從視圖中訪問某個值,則需要通過{{view.counter}}訪問該值。

然而,在你的情況,你可能應該像視圖設置控制器:

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

一旦你得到了竅門,我會考慮設立一個路由器來管理綁定的控制器和一起看。

+0

非常感謝你! 我將{{counter}}更改爲{{view.counter}},它工作正常! 林困惑我爲什麼需要添加「查看」,雖然... 我會繼續研究燼。 再次,非常感謝! – crzyonez777

+0

模板具有從中提取值的上下文。默認情況下,它被設置爲連接到視圖的控制器。在Ember的早期版本中,上下文實際上是視圖本身,但是通過引入路由器和控制器,將上下文設置爲視圖所代表的對象而不是視圖本身更有意義 –

+0

哦,我明白了!非常感謝!!! – crzyonez777