我正在使用jsonForm从 3 个不同的 json 模式生成一个表单。提交表单时,请求另一个表单,依此类推......所有 3 个表单上的数据创建一个 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 吗?
谢谢..