Angularjs的数据绑定与数据属性对象

Angularjs data binding with a data attribute object

本文关键字:数据属性 对象 数据绑定 Angularjs      更新时间:2023-09-26

我有一些json附加到一个页面上的数据属性。json数据用于在angularjs中构建一个表。我用的是coffeescript和haml。

    app = angular.module("myApp", [])
    app.controller "TableCtrl", ($scope) ->
      $scope.table =  $("#mydata").data("myjson")

    #table{"ng-app"=>"myApp","ng-controller" =>"TableCtrl"}
      %table
        %tbody
          %tr{"ng-repeat"=>"(i,item) in table" }}"}
            %td {{item.name}}

页面将数据加载到一个表中。在页面的其他地方,用户可以使用jquery更改data属性的json。我怎么能有json数据和表之间的双向绑定?也就是说,我想改变表上的json数据属性在本地改变。

你需要的是告诉AngularJS观察$("#mydata").data("myjson")的任何变化,然后在发生变化时更新$scope.table。尝试将以下代码添加到您的控制器(对不起,我不知道coffeescript)。

$scope.$watch(
    function () { return $("#mydata").data("myjson");}, 
    function(newJson) {
        $scope.table = newJson;
    },
    true
);