jsonFormを使用して、3 つの異なる json スキーマからフォームを生成しています。フォームが送信されると、別のフォームが要求されます... 3 つのフォームすべてのデータは、最後のフォームが入力された後に送り返されて保存される 1 つの json オブジェクトを作成します。
フォームは期待どおりに機能します。問題は、ng-repeat を使用してリストを更新する場合です。
HTML:
<ul>
<li ng-repeat="names in newName">{{names}}</li>
<ul>
デフォルトの名前の配列:
$scope.newName= ["test1","test2"];
初期オブジェクト
var set1 = {
"setName": "",
"setAttributes": [],
"setQuestions": []
};
角度:
$scope.createNewSet = function () {
$http.get('/json/schema1.json').success(function(data) {
$('#form1').jsonForm({ // DISPLAY FIRST FORM
schema: data,
"form": [
"*",
{
"type": "submit",
"title": "Proceed to step 2"
}
],
onSubmit: function (errors, values) {
var sName = values.setName;
set1.setName = sName;
$http.get('/json/schema2.json').success(function(data) {
$('#form2').jsonForm({ //DISPLAY SECOND FORM
schema: data,
"form": [
"*",
{
"type": "submit",
"title": "Proceed to step 3"
}
],
onSubmit: function (errors, values) { // DISPLAY THIRD FORM
set1.setAttributes = values.attributes;
$http.get('/json/schema3.json').success(function(data) {
$('#form3').jsonForm({
schema: data,
"form": [
"*",
{
"type": "submit",
"title": "Proceed to step 4"
}
],
onSubmit: function (errors, values) { // SAVE COMPLETE SET
set1.setQuestions = values.questions;
$scope.newName.push(set1.setName); //UPDATE li
$scope.newName.push('blah')
console.log($scope.newName);
},
});
});
},
ブラウザ コンソールには更新された newName 配列["test1","test2","Simo","blah"]
が表示さSimo
れBlah
ますが、HTML には表示されません。angular が DOM を更新するのを妨げている何かがあるのでしょうか?
ありがとう..