9

EmberJS 0.9.8.1 に更新した後、次の 2 つの警告が表示されます。

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) も試してみました。

これらの警告に対応する正しい方法はどれですか (ある場合)? 彼らの嘆願に基づいて物事を設定すると、彼らはただやってしまうのではないでしょうか? 警告は、おそらくこれをより適切に文書化するか、設定したフィードバックを提供する必要があります。

4

1 に答える 1

15

ENVEmber.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>

</p>

于 2012-05-31T19:01:26.053 に答える