angularjs中的双向绑定问题

时间:2014-11-02 18:25:12

标签: javascript jquery json angularjs

我在HTML + AngularJs上弄脏了。我陷入了一个奇怪的问题。 我使用ng-repeat创建table,tr,td,迭代json数据并使用Json对象属性" name"填充输入类型文本中的值。现在当我输入输入框时,ng-model会更新,但如果我在JSON属性中使用预填充值尝试它,或者我尝试动态填充JSON属性,它不会更新。

    <table style="border:1px solid black" ng-repeat="node in tableJson" id="tableId">
        <tr  style="border:1px solid black" ng-repeat=" rowNode in node">
            <td style="border:1px solid black" ng-repeat="columnNode in rowNode">

            <div ng-repeat="obj in columnNode">


                {{obj.name}}
                <span ng-click="addRow($parent.$index,$index);">add row</span></br>
                <span ng-click="addColumn();">add column</span></br>
                <span ng-click="hideMeShowNext();">hide me</span>
                id: {{$parent.$parent.$index}}_{{$parent.$index}}_{{$index}}
                <input type="text" ng-model="obj.name">{{obj.name}}

                <table style="border:1px solid black" ng-repeat="node in obj.newTable" id="tableId">
                    <tr  style="border:1px solid black" ng-repeat=" rowNode in node">
                        <td style="border:1px solid black" ng-repeat="columnNode in rowNode">

                            <div ng-repeat="obj in columnNode">
                                <span ng-click="addRow($parent.$index,$index);">add row</span></br>
                                <span ng-click="addColumn();">add column</span></br>
                                <span ng-click="hideMeShowNext();">hide me</span>
                                id: {{$parent.$parent.$index}}_{{$parent.$index}}_{{$index}}
                                <input type="text" ng-model="obj.name">{{obj.name}}
                            </div>  
                        </td>
                    </tr>   
                </table>    

            </div>  
            </td>
        </tr>   
</table>

这是HTML部分。

    $scope.tableJson = [
  {
    "rowNode": [
      {
        "columnNode": [
          {
            "name":"bababab"
          }
        ]
      }
    ]
  }
]

这是预定义的JSON。

$scope.addRow =function(parentIndex,index){
//add a tr to the container table


alert(parentIndex + "--"+index);

var objToPush = [
  {
    "rowNode": [
      {
        "columnNode": [
          {
            "name": ""
          }
        ]
      }
    ]
  }
];
$scope.tableJson[0]["rowNode"][parentIndex]["columnNode"][index]["name"]="justFilled";
$scope.tableJson[0]["rowNode"][parentIndex]["columnNode"][index]["newTable"] = objToPush;

$scope.$apply();
}

addRow是我正在调用的函数。

我做错了什么?&gt;

0 个答案:

没有答案