Ho una stringa contenente dati Json che viene generata da qualche altro script (diciamo script A). Devo accedere a questi dati usando ng-model. Quindi quello che ho provato è che ho creato un campo di input come sotto e collegato ad esso.Accesso ai dati del modello ng nel controller usando angularjs
`<input type="text" id="check" name="jsonName" ng-model="saveJson"></input>`
Ora quello che ho fatto è che ho memorizzato i dati JSON in questo campo di input che utilizzano script di Una come qui di seguito
document.getElementById("check").value = saveJson;
Ora per accedere a questi dati in angolare ho creato un controller come
angular.module('myapp').controller('formDataController', ['$scope',
function($scope){
$scope.saveForm = function(){
console.log($scope.saveJson);
}
}
]);
dove SaveForm è un metodo che si chiama su un pulsante di scatto utilizzando ng clic
Ora il problema è ntil c'è un'interazione nel campo di input $ scope.saveJson fornisce un valore undefiend. Ma quando scrivo qualcosa nel campo di input, console.log mostra i dati JSON con valore digitato.
Per favore aiuto.
si deve sempre impostare la variabile portata come '$ scope.saveJson = saveJson' dalla variabile portata controller.setting fuori angolare non lo farà esegui il ciclo di digest, la variabile scope non aggiornerà..è necessario '$ scope. $ apply()' per ottenere il valore aggiornato di tutte le variabili di scope –
come dovrei usare questo $ scope. $ apply() – Himanshu
che potresti usare 'if (! $ scope. $$ phase) $ scope. $ apply()' ma questo è un codice cattivo in termini di angolare '. –