4

UI 全体で何度も発生するコンポーネントを一般化しようとしています。

コンポーネントに渡される変数がありitem-type、現在、次のように使用しようとしています:

{{#each items}}
    {{#link-to ../item-type this ...}}...{{/link-to}}
{{/each}}

次のエラーが表示されます。

この link-to は、そのパラメーターの少なくとも 1 つが現在 null または未定義の値を持っているか、指定されたルート名が無効であるため、非アクティブな読み込み状態にあります。

ただし、変数のログは正常に機能します。

{{#each items}}
    {{log ../item-type}}
{{/each}}

もちろん、../item-typeその値を (ハードコードされた) 交換すると、正常に動作します。

link-toこのハンドルバー マクロをサポートしていませんか?

そうでない場合、ハンドルバー ヘルパーで実行できる代替バインディングはありますか?

4

1 に答える 1

7

を使用して親コンテキストをバインドすることで解決しました{{#with}}

これが提案された方法だとは想像できないので、本当の答えを知っている人が来たら質問を開いたままにします.

例:

{{#with this as component}}
    {{#each items}}
        {{#link-to component.item-type this ..}}...{{/link-to}}
    {{/each}}
{{/with}}

編集: ほぼ 2 年が経過しましたが、これは未解決の SO バグの Ember チームのスプレッドシートにまだリストされています。今から閉めます。

于 2013-09-23T19:19:15.700 に答える