Ich brauche Hilfe mit einem ng-Modell erstellt mit ng-bind-html. Ich habe eine JSON-Datei auf dem Server, in dem ich einige HTML und einige Eingaben wie diese:Wie für ng-Modell mit ng-bind-html zu sehen
* .json
{
"test": {
"1": {
"question":"<span>1. something:</span>",
"options":"<input type='radio' name='q1' ng-model='q.1' value='a'>a) op 1<br><input type='radio' name='q1' ng-model='q.1' value='b'>b) op 2<br><input type='radio' name='q1' ng-model='q.1' value='c'>c) op 3<br><input type='radio' name='q1' ng-model='q.1' value='d'>d) op 4<br><input type='radio' name='q1' ng-model='q.1' value='e'>e) op 5<br>",
"answer":"c"
},
"2": {
...
}
}
}
Da ist in meiner HTML-Datei Ich habe so etwas wie:
<div class="testContent">
<div class="test">
<div class="questions" ng-repeat="qs in questions" ng-show="questions.length">
<div ng-bind-html="qs.question"></div>
<div class="options" ng-bind-html="qs.options">
</div>
</div>
</div>
<br>
<div class="nextBtn">
<a href="#test/6" class="btn btnNext" ng-click="save()"> continue ></a>
</div>
</div>
Und in meinem Angular Controller habe ich den ajax-Aufruf für die JSON-Datei:
Controller:
.controller('testCtrl', ['$scope', '$http', 'myService', '$sce',
function($scope, $http, myService, $sce,){
$http.get(urls.url_otis).success(function(data, status){
angular.forEach(data.test, function(value, key){
var q = data.test[key];
q[key] = key;
q.question = $sce.trustAsHtml(q.question);
q.options = $sce.trustAsHtml(q.options);
$scope.questions.push(q);
});
}).error(function(data, status){console.log(status)});
}
Der HTML-Code ist ausgefüllt, aber ich kann $ watch nicht für das mit diesem Ansatz erzeugte Modell (q) verwenden.
Wie kann ich auf Änderungen in den so erstellten Modellen achten?
Vielen Dank im Voraus ...
Sie müssen eine Direktive erstellen, die den Inhalt der wiederholten div. Erstellen Sie eine Plunkr oder Geige und ich werde diese Direktive erstellen, wenn Sie nicht wissen, wie es geht. – akn
Ok. Dies ist die eine Geige wie es funktionieren sollte: http://jsfiddle.net/carloscarcardo/Dh3Su/ Und das ist der Code von dem, was ich versuche zu tun: http://jsfiddle.net/carloscarcamo/gtV2F/ In der letzten, mein Modell funktioniert nicht gut, da ich den HTML-Code mit ng-bind-html generieren und der HTML-Code wird vom Server geladen (in diesem Fall von einer JSON-Datei). @akn Ich werde Ihre Hilfe mit der Richtlinie zu schätzen – carloscarcamo
gibt es keinen Unterschied zwischen diesem fiddles – akn