2012-05-31 172 views
9

更新到EmberJS 0.9.8.1之後,我現在得到兩個警告:如何在EmberJS中設置「ENV」變量?

WARNING: Computed properties will soon be cacheable by default. To enable this 
in your app, set `ENV.CP_DEFAULT_CACHEABLE = true`. 

和:

WARNING: The way that the {{view}} helper affects templates is about to change. 
...SNIP... by setting `ENV.VIEW_PRESERVES_CONTEXT = true`. 

這似乎是一個愚蠢的問題,但我要如何設置這些ENV變量?我試着用幾種不同的方式設置它們,但沒有一條使警告消息消失,我的應用程序中也沒有任何消息。這是否意味着我很清楚?或者這意味着我沒有正確設置ENV變量?

  1. window.ENV不存在,所以從字面上做 'ENV.CP_DEFAULT_CACHEABLE =真正的' 不起作用
  2. Ember.ENV存在,但空的對象,並沒有灰燼。 ENV.set方法。所以我試着做Ember.ENV.CP_DEFAULT_CACHEABLE = true。這是設置ENV的正確方法嗎?但它對Ember.CP_DEFAULT_CACHEABLE沒有影響,所以看起來不正確。
  3. Ember.CP_DEFAULT_CACHEABLE存在,所以我試着做Ember.CP_DEFAULT_CACHEABLE = true,但是這對Ember.ENV.CP_DEFAULT_CACHEABLE沒有影響。
  4. 我也嘗試過Ember.set('CP_DEFAULT_CACHEABLE',true)。

哪些(如果有的話)這些是正確的方式來回應這些警告?當你根據他們的請求設置事物時,他們不只是消失嗎?警告應該更好地記錄這些信息,或提供您設置的反饋。

回答

15

你必須確保該ENV變量被設置,Ember.js被加載(在ember-metal/lib/core.js定義)之前,請參閱http://jsfiddle.net/pangratz666/jweyf/

<!doctype html> 
<body> 
    <script type="text/javascript" > 
     ENV = { 
      CP_DEFAULT_CACHEABLE: true, 
      VIEW_PRESERVES_CONTEXT: true 
     }; 
    </script> 
    <script src="http://code.jquery.com/jquery-1.7.2.js"></script> 
    <script src="https://github.com/downloads/emberjs/ember.js/ember-0.9.8.1.js"></script> 
    ... 
</body> 

+1

謝謝,這幫助了我。 –

相關問題