特定の要素 + 属性 + 属性値だけに適用されるディレクティブを作成する方法はありますか?
私の最初の意図は、モジュール性とメンテナンスの目的で個別のディレクティブを持つことですが、Angular から要素に一致する複数のディレクティブがあるというエラーが表示されるため、それは不可能です。
したがって、私のシナリオは次のとおりです。たとえば、独自の入力要素を記述したい
<input type="time-picker">
<input type="date-picker">
だから私はした
app.directive('input', function () {
return {
restrict: 'E',
templateUrl: function ($element, $attrs) {
if ($attrs.type === 'date-picker' || $attrs.type === 'time-picker') {
return $attrs.type + '.html';
}
},
controller: function ($scope, $element, $attrs) {
if ($attrs.type === 'date-picker') {
console.log('date-picker');
}
else if($attrs.type === 'time-picker') {
console.log('time-picker');
}
}
}
});
これは、ページに他の入力要素がない限りうまく機能します。
私が入れたら
<input type="time-picker">
<input type="date-picker">
それは正常に動作します。今私が追加すると
<input type="text">
ページ全体がハングします。
ここで私のフィドルを参照してください: http://jsfiddle.net/pWc3K/8/