Json 将ng模型值添加为数组中的分组子项

Json 将ng模型值添加为数组中的分组子项,json,angularjs,angular-ngmodel,Json,Angularjs,Angular Ngmodel,学习python让我忘记了我所有的想法,这就是我的故事,我会坚持下去。这甚至让我忘记了我的谷歌技能,因为我在任何地方都找不到类似的问题。最接近的可能是,但那也不起作用 我有十组两个输入字段,标题和描述。我想将它们作为子级添加到数组中,因此我将在json中得到十个属性,每个属性依次有两个子属性。我在绝望中试过push,concat,甚至是老式的+=但都没用。我一定是完全忽略了显而易见的事实 以下是每一行的外观,尽管数字有所变化(从1到10): 我不断得到一个点的意外标记错误(如$scope-dot

学习python让我忘记了我所有的想法,这就是我的故事,我会坚持下去。这甚至让我忘记了我的谷歌技能,因为我在任何地方都找不到类似的问题。最接近的可能是,但那也不起作用

我有十组两个输入字段,标题和描述。我想将它们作为子级添加到数组中,因此我将在json中得到十个属性,每个属性依次有两个子属性。我在绝望中试过push,concat,甚至是老式的+=但都没用。我一定是完全忽略了显而易见的事实

以下是每一行的外观,尽管数字有所变化(从1到10):

我不断得到一个点的意外标记错误(如$scope-dot-idea1中的点)。当我输入简单文本作为测试时,右括号出现了意外的标记错误

我甚至尝试过收集手表,只是想看看控制器是否会注意,但我没有从中得到任何收获。我试着只看idea1,然后是$scope.idea1,然后是$scope.idea1.title,watchCollection就在那里

这就是我希望它最终看起来的样子,大致如下:

$scope.ideas = [
    {
        type : 'title goes here',
        description : 'description goes here'
    },{
        type : 'title goes here',
        description : 'description goes here'
    },{
        type : 'title goes here',
        description : 'description goes here'
    }
];
我已经检查了一个非常明显的问题——ng应用程序与ng控制器不在同一级别,我正在呼叫正确的控制器,我没有任何奇怪的拼写错误


帮忙

对象定义中缺少描述码

$scope.ideas = [
    {idea : $scope.idea1.title, desc: $scope.idea1.description},
    {idea : $scope.idea2.title, desc: $scope.idea2.description},
    {idea : $scope.idea3.title, desc: $scope.idea3.description}
];

好吧,在通过@BenCr解决了一个问题之后,我发现了真正的问题。在这里:

<input type="text" class="form-control"  ng-click="addIdea()" ng-model="idea1.title" placeholder="title">

没有名字。无论出于何种原因,您必须有一个与ng模型匹配的名称,然后angular将很好地发挥作用。我已经习惯于使用ID和名称进行传统的验证,我不知道为什么这次忘记了它们。但一旦我把它加进去,一切都正常了

<input type="text" class="form-control"  ng-model="idea1title" name="idea1title" placeholder="title">


另一个细节是,你不能有一个像idea-dot-title-one这样的表单名;你得把圆点去掉。Ng模型可以处理它,但name不能,两者必须匹配

好吧,这解决了一个问题,让我发现了真正的问题。谢谢这不太可能是真正的答案。看这两行。第一个示例
ng click=“addIdea()”ng model=“idea1.title”
,第二个示例
ng model=“idea1title”
。我有很多控件没有名字。我很高兴你修复了你的解决方案,但我认为你还没有完全理解你是如何修复它的。删除该名称,然后重试。我取消了ng单击;它什么也没做。当我删除名称时,失败。当我使名称与ng模型不同时,失败。当我在名称中添加一个点以匹配ng模型时,失败。只有当name=ng model且name存在时,它才起作用。看看这个将输入控件绑定到列表中对象的示例,您可以看到字段名与模型中属性的名称无关。
<input type="text" class="form-control"  ng-click="addIdea()" ng-model="idea1.title" placeholder="title">
<input type="text" class="form-control"  ng-model="idea1title" name="idea1title" placeholder="title">