AngularJs - bind ein ng-model Direktive mit zwei Eingängen

Erstellen einer range Richtlinie die Bindung zu einem ng-model - und Ausgänge zwei input Felder mit einem filter (selbst schon gemacht). Im wesentlichen habe ich eine Richtung von Modell zu input arbeiten, aber die andere Seite von input-zu-Modell nicht. Wie dies zu erreichen?

Habe ich dieses Html:

<div tu-range ng-model="arbitraymodel" />

Und ein Modell:

var arbitrarymodel = "10/22";

Randnotiz; ich habe einen filter auf split dieser beiden Werte:

{{ feature.Value | split:\'/\':0}}

Und dieser Richtlinie:

.directive('tuRange', function($compile) {
    return { 
        restrict: 'A',
        require: 'ngModel',
        scope: {
            feature: '=',
            tudisabled: '=',
            model: '=ngModel' //edited
        },
        template: '<input type="text" '+
               'ng-value="{{ model | split:\'/\':0}}" />'+ //edited to 'model'
             '-<input type="text" '+
               'ng-value="{{ model | split:\'/\':1}}" />', //edited to 'model'
        link: function(scope, element, attributes, ngModel) {

        }
    };
})
  • Tun Sie wirklich brauchen, es zu tun mit dem Wert von 10/22? Warum nicht verwenden ein Objekt, mit arbitrary.begin und arbitrary.end lösen? Sie können beides miteinander verbinden, wieder zu einem Wert, wenn Sie wollen mit einem change-listener.
  • hm, nicht so sicher über diese, aber wie macht er umkehren der Filter für die zwei-Wege-Bindung?
  • Ich machte eine kleine änderung der Richtlinie Geltungsbereich hinzufügen model. @ConcurrentHashMap ja, es sind nicht die optimalen Daten, die ich bekomme. Aber irgendwann muss es sein, zurück zu senden, so, um sicherzustellen, dass alles an einem Ort geschieht, würde ich mag, um es in der Richtlinie.
InformationsquelleAutor Highmastdon | 2014-08-05
Schreibe einen Kommentar