角1. *指令テンプレート - htmlテキスト補間の属性を使用しますか?
私は自分のコードを乾燥機にするか、しようとしています。しかし、jsonデータ構造の違いのために、各ラジオボタンの補間テキストのために可能であるかどうかはわかりません。
<ppv-filter filter-name="Region" radio-value="choice.code"
sort="description" filter-data="regions"></ppv-filter>
<ppv-filter filter-name="Market" display-prop="description"
filter-data="markets"></ppv-filter>
<ppv-filter filter-name="Dealer" display-prop="code"
filter-data="dealers"></ppv-filter>
ディレクティブテンプレート:
<div ng-if="filterName === 'Region'">
<div ng-repeat="choice in filterData| orderBy: sort">
<input type="radio" value="{{choice.code}}" name="regionRadio">
{{choice.description}}
</div>
</div>
<div ng-if="filterName === 'Market'">
<div ng-repeat="choice in filterData| orderBy: 'code'">
<input type="radio" name="bob">
{{choice.code}}
</div>
</div>
<div ng-if="filterName === 'Dealer'">
<div ng-repeat="choice in filterData| orderBy">
<input type="radio" name="foo">
{{choice}}
</div>
</div>
angular.module('app')
.directive('ppvFilter', ['regionMarketDealerSrv',
function(regionMarketDealerSrv) {
return {
templateUrl: 'app/ppv/ppv-filter.dir.html',
restrict: 'E',
scope: {
filterName: '@',
sort: '@',
radioValue: '@',
filterData: '='
},
それは{{choice.description}}
の、例えば、場所を取るために結合属性を渡すことは可能ですか?もしそうでなければ、私は本当にたくさんのコードng-if
ブロックを持つディレクティブを再利用してコードを乾燥させるわけではありません。
ありがとうございました。私の目標は、 'switch'や' ng-if'を使わないことです。ただ一つのHTMLブロックをディレクティブのビューに使うだけです。もしそうでなければ、このコードは非常に多くの条件で指示文がなければ読みやすくなります。 – dman