【问题标题】:How do I set an "ENV" variable in EmberJS?如何在 EmberJS 中设置“ENV”变量?
【发布时间】:2012-06-01 03:08:06
【问题描述】:

更新到 EmberJS 0.9.8.1 后,我现在收到两个警告:

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 = true' 是行不通的
  2. Ember.ENV 存在,但是是一个空对象,并且没有 Ember.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)。

哪些(如果有)是响应这些警告的正确方法?当您根据他们的请求设置事情时,他们不只是取消吗?警告可能应该更好地记录这一点,或者提供您设置它们的反馈。

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    您必须确保在加载 Ember.js 之前设置了 ENV 变量(在 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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-05-26
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 2015-08-31
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      相关资源
      最近更新 更多