AngularJS似乎忽略了我的绑定

时间:2015-05-24 05:16:16

标签: angularjs data-binding

我试图将数据字典绑定到Angular,而忽略我告诉它要做的任何事情都是非常了不起。

我有一个看起来像这样的对象:

{
   "Attributes" : [
      "Stamina": 1,
      "Strength": 2
   ],
   "Coefficients": [
      "Constitution": 0.5
   ]
}

使用与此类似的控制器:

var controller = function($scope){
   var _this = $scope;
   _this.model ={ 
       Statistics : {} 
   }
  // (ajax to get list of data and populate "Statistics")
};
angular.module('app').controller(["UserController", "$scope"]);

我试图非常简单地绑定它:

<div ng-controller="UserController">
   {{ model.Statistics["Attributes"]["Stamina"] }}
</div>

任何人都可以帮我确定拒绝显示号码的原因吗?

2 个答案:

答案 0 :(得分:1)

您正在错误地注册控制器。它应该是:

.controller("UserController", controller);

,或者

.controller("UserController", ["$scope", controller]);

controller是您定义的控制器构造函数。

答案 1 :(得分:1)

您永远不会附加控制器功能或设置模型

var app = angular.module('app', []);
app.controller("UserController", ["$scope",
  function($scope) {
    $scope.model = {
      "Statistics": {
        "Attributes": {
          "Stamina": 1,
          "Strength": 2
        },
        "Coefficients": {
          "Constitution": 0.5
        }
      }
    }
  }
]);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.10/angular.min.js"></script>
<div ng-app="app" ng-controller="UserController">
  {{ model.Statistics.Attributes.Stamina }}
</div>