In meinem Haupt-HTML habe ich eine Ansicht, die Vorlagen lädt.
<div data-ng-view></div>
Es lädt ein HTML, wenn der Link geklickt wird.
app.config(["$routeProvider", function ($routeProvider) {
'use strict';
$routeProvider
.when("/", {
templateUrl: "events.html"
});
}]);
Auf dieser Seite (Vorlage), ich habe eine Richtlinie, die eine andere HTML-Datei lädt
app.directive('ngPost', function() {
'use strict';
return {
restrict: 'A',
templateUrl: 'postbox.html'
};
});
ich diese Richtlinie dann auf meine events.html Webseite von <div data-ng-Post></div>
In Postbox , Ich habe zwei Eingabefelder und eine Schaltfläche
<input type="text" id="user" data-ng-model="username" />
<input type="text" id="mess" data-ng-model="message"/>
<button data-ng-click="Add(eventid-1, username, message)">Post</button>
Nach dem Klicken auf, aber Ich habe einige Operationen, dann versuche ich die Eingabefelder zu löschen, aber ich kann nicht. Methode hier:
$scope.Add = function (index, uname, msg) {
var a = {user: uname, message: msg, time: new Date()};
$scope.data[index].messages.push(a);
$scope.message = ''; // clearing here
$scope.username ='';
};
Die Klärung passiert nicht, ich weiß nicht warum. Mein Controller, der über diese Add-Methode verfügt, umschließt die <div data-ng-view></div>
in der Haupt-HTML-Datei, so dass es der äußerste Controller ist und Zugriff auf alle $ Scope-Modelle haben sollte. Warum funktioniert es nicht? Beachten Sie, dass die Vorgänge vor dem Löschen ohne Probleme ausgeführt werden
Glauben Sie einen Fehler in der Konsole nicht denken sollte es in der Lage sein wird, richtig diese eventid-1 zu analysieren. Kann eine 'Debugger;' - Zeile in Ihrer Add-Funktion hinzufügen, um zu sehen, ob sie überhaupt ausgelöst wird. Letzter Punkt gut, nicht den $ scope als Ihr Modell verwenden, sondern zeigen Sie es auf ein Objekt, das Ihr Modell ist, google eckige prototypische Vererbung und sehen Sie die SO-Post – shaunhusain
@shaunhusain die Debugger auslöst. und es gibt keine Fehler, meine Operationen, die ich ausgeschlossen habe, verwendet die Informationen von den Eingaben (die kein Problem hat) – Lester
Wenn Sie console.log ($ scope.message) und console.log ($ scope.username) in Ihrer add-Methode was ist die Ausgabe? –