ich eine dateRangePicker
-Direktive, die ich so erklären:Deklarieren komplexes Objekt in isolierten Umfang
<date-range-picker start="schedule.start" end="schedule.end"></date-range-picker>
Meine Richtlinie wie folgt erklärt:
.directive("dateRangePicker", function() {
return {
restrict: 'E',
require: '^form',
scope: {
start: '=',
end: '='
},
replace: true,
templateUrl: 'dateRangePicker.tpl.html',
link: function (scope, elm, attrs, ctrl) {
Das Problem, dass meine Vorlage ist: dateRangePicker.tpl.html
initialisiert einen untergeordneten Bereich (die DatePicker-Komponente des angular-ui führt dies über den entsprechenden Controller aus), so dass jeder Versuch, Werte in scope.start
oder scope.end
zu schreiben, den Geltungsbereich der Richtlinie nicht beeinflusst.
Ich mag würde meinen isoliert Umfang erklären, so dass der Konflikt nicht auftreten:
scope.schedule.start
und scope.schedule.end
.
Ich habe versucht, dies zu tun:
return {
restrict: 'E',
require: '^form',
scope: {
schedule: {
start: '=start',
end: '=end'
}
}
Aber dieser Fehler auftritt:
Error: 'undefined' is not a function (evaluating 'definition.match(LOCAL_REGEXP)')
Gibt es eine Möglichkeit, es unter Verwendung von isoliertem Umfang zu erreichen?
Ich möchte einfach nicht die Bereiche durch scope:false
propagieren (das funktioniert, ich habe es getestet), um eine gute Kapselung zu halten.
ausgezeichnet, dank Verwendung – Mik378