1

テキストフィールドで構成される再利用可能なコンポーネントを作成しようとしています。テキストフィールドの下に、要素のフィルターされたリストを表示するcollectionViewが必要です。

私の問題は、コンポーネントを作成するときにをカスタマイズしたいということですitemViewClass。現在、ハードコードされたテンプレートを使用する代わりにcontainerView、パラメーターlistItemViewをコンテナービューに渡し、宣言し ます。itemViewClassBinding: 'parentView.listItemView'

これにより、EmberitemViewClassがEmber.Viewのインスタンスである必要があると主張する問題が発生します。

キャッチされないエラー:アサーションに失敗しました:itemViewClassは、function(){ではなくEmber.Viewのサブクラスである必要があります

誰かが同様の問題に遭遇しましたか?

ありがとうございました

4

2 に答える 2

1

クラスをサブクラス化するContainerViewことは1つのオプションです。次に例を示します。http://jsfiddle.net/ethan_selzer/kcjzw/240/

このパスティは少し読みやすいかもしれません:http://pastie.org/4256407

イーサン

于 2012-07-14T18:03:34.353 に答える
0

この機能は、ごく最近、残り火アプリで作成しました。私がそれをした方法は、コントローラーのプロパティにバインドすることでした。ユーザーがテキストフィールドに入力するときは、フィルターテキストをコントローラープロパティとして設定する必要があります。次に、コントローラーには、フィルターフィールドのテキストプロパティを監視し、フィルターテキストに基づいてコンテンツデータのフィルターされたリストを生成する別のプロパティがあります。次に、フィルタリングされたビューは、通常の(すべての)コンテンツではなく、コントローラのフィルタリングされたコンテンツにバインドされます。このように、2つのビューはお互いを知る必要がなく、コントローラーがデータを提供します。

于 2012-07-13T19:03:59.537 に答える