2017-11-03 5 views
0

Ember 2.16.x以上の新しいインポート構文を使用してEmber.Handlebars.Utils.escapeExpression関数にアクセスするにはどうすればよいですか?Ember 2.16.x:新しいインポート構文でEmber.Handlebars.Utils.escapeExpressionにアクセス

次のコードスニペットは、Writing Helpers section of the Ember docsからのものです。 (ちなみに、私は以下のコードでクリーンアップされているオリジナルでは無関係なエラーがいくつかあります。)

import { helper } from "@ember/component/helper"; 
import Handlebars from "handlebars"; 
import { htmlSafe } from "@ember/string"; 

export function makeBold(param /*, ...rest*/) { 
    let value = Handlebars.Utils.escapeExpression(param); 
    return htmlSafe(`<b>${value}</b>`); 
} 

export default helper(makeBold); 

私は上記のコードを使用している場合は、私は次のエラーを取得:

Could not find module 'handlebars' imported from 'ember-app/helpers/make-bold'

答えて

1

現時点では、Handlebars.Utils.escapeExpression関数は、まだ新しいモジュールインポート(別名RFC 176)によってエクスポートされていません。あなたは今のEmber輸入からそれを使用しておく必要があります。

import Ember from 'ember'; 

Ember.Handlebars.Utils.escapeExpression(...) 

このためのオープンGitHubの問題がhttps://github.com/ember-cli/ember-rfc176-data/issues/12

に存在するリンク先の案内ページが間違っているように見える、我々はその特定のスニペットを修正する必要があります。それについて申し訳ありません!

+0

ガイドPRはhttps://github.com/emberj/guides/pull/2130で提出されました – TBieniek

+0

ロジャー。私はそれがまだ機能していたので、その解決策に落ちましたが、私が「間違っている」ことを確認したかっただけです。ありがとう! –

関連する問題