Ich habe eine Zeichenfolge, die JSON-Daten enthält, die von einem anderen Skript generiert werden (sagen wir Skript A). Ich muss auf diese Daten mit ng-Modell zugreifen. Also, was ich ausprobiert habe, ist, dass ich ein Eingabefeld wie unten erstellt habe und ng-Modell daran angehängt habe.Zugriff auf ng-Modelldaten im Controller mit angularjs
`<input type="text" id="check" name="jsonName" ng-model="saveJson"></input>`
Nun, was ich habe ist ich die Json-Daten in diesem Eingabefeld gespeichert Skript A wie unten
document.getElementById("check").value = saveJson;
nun in diese Daten zugreifen Winkel i wie
einen Controller erstelltangular.module('myapp').controller('formDataController', ['$scope',
function($scope){
$scope.saveForm = function(){
console.log($scope.saveJson);
}
}
]);
Dabei ist saveForm eine Methode, die bei einem Klick mit der Tastenkombination ng-klick
aufgerufen wird 0Jetzt ist das Problem u ntil gibt es irgendeine Interaktion im Eingabefeld das $ scope.saveJson gibt einen undefiend Wert. Aber wenn ich etwas in Eingabefeld schreibe, dann zeigt console.log json Daten mit typisierten Wert.
Bitte helfen.
sollten Sie immer Umfang Variable wie '$ scope.saveJson = saveJson' außerhalb Winkel von Ihrem controller.setting Umfang Variable definieren, wird nicht Führen Sie den Digest-Zyklus aus, die Scope-Variable wird nicht aktualisiert. Sie müssen '$ scope. $ apply()' ausführen, um den aktualisierten Wert aller Scope-Variablen zu erhalten. –
Wie sollte ich diesen $ scope verwenden? $ apply() – Himanshu
können Sie verwenden 'if (! $ scope. $$ Phase) $ scope. $ apply()' aber das ist schlechter Code in Bezug auf Winkel. ' –