0

こんにちは、ui-select の動作を少しカスタマイズしたいと思います。templatecaches を利用して、自分のページで 2 つのブートストラップ テーマの ui-select コントロールを使用しています。テンプレートでは、ng-click タグを使用して矢印ボタンのクリック イベントを配線しました。そうすれば、矢印ボタンのクリックイベントを簡単にキャッチでき、コントローラーで関数を使用してポップアップを開くことができます。たとえば、次のようになります。

<button ng-click = "someFunctionInTheScope()">

たとえば、ビューにこれらの ui-select 要素が 2 つある場合、どの矢印ボタンをクリックして正しいポップアップを表示するかを区別する必要があります。2 つの ui-select コントロールに同じテンプレートを使用しており、理論的にはこれらのコントロールをページにいくつでも配置できるため、テンプレートのメソッドにパラメーターを追加して、どの ui-select のどの矢印イメージを区別するかを簡単に追加することはできません。選択コントロールがクリックされた場合:

<button ng-click= "someFunctionInTheScope(1)">

両方の ui-select コントロールが同じテンプレート コードを使用し、両方のコントローラー関数に 1 が渡されるためです。

したがって、テンプレートをコントロールごとに一度だけ動的に変更する、より賢い方法を見つける必要があります。

だから私は次のようなものを持つことを考えました

<button ng-click= "someFunctionInTheScope($select.id)">

しかし、デバッグすると、クリックするたびに functions パラメータが未定義であることがわかります。

誰かがこれをハックする方法を教えてもらえますか?

4

1 に答える 1

1

オブジェクトidにプロパティはありません。$select最善の策は、ui-select ボックスを含む要素のスコープを介して何かを渡すことです。つまり、コードは、使用している ui-select ボックスごとに一意の識別子を生成する必要があります。これは$index、ブロックのプロパティng-repeat、タイムスタンプ、または他のコンテキストに依存するものである可能性があります。

もう少し文脈があれば、より具体的な答えを提供できます。

于 2015-01-19T06:02:58.420 に答える