だから私はこのような他の多くの質問を見てきましたが、私がやろうとしていることを完全にカバーしているように見えるものは見つかりませんでした.
ディレクティブでテンプレートを使用して、検索ボックスのような派手なものを含むカスタム ドロップダウンを作成しています。このために、私は使用する必要がありますtemplate
。compile
withだけでは使用できませんelement.replaceWith
(param を使用するcompile
とこれを機能させることができますattrs
が、カスタム テンプレートは機能しません)。
カスタム タグの属性の内容に応じて、特定のオプションの配列を選択するだけです。
HTML:<customdropdown useoptionset="first"></customdropdown>
JS:
angular.module('ui.bootstrap', [])
.constant('customdropdownConfig', {
//bunch of properties here
})
.directive('customdropdown ', ['$parse', 'customdropdownConfig', function ($compile, customdropdownConfig) {
return {
restrict: 'EA',
replace: true,
template: (function(conf) {
var optionset = //how can i access the useoptionset attribute here?
var options = //stuff involving useoptionset and conf
return '<select ui-select="customDropdown">' + options + '</select>';
}(customdropdownConfig))
};
}])
これは非常に一般的で明白な使用例であるように思えますが、Angular の仕組みについて何かが欠けている可能性があります。