AngularJS 似乎忽略了我的绑定

AngularJS seems to ignore my bindings

我正在尝试将数据字典绑定到 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>

谁能帮我查明为什么它拒绝显示号码?

您没有正确注册您的控制器。应该是:

.controller("UserController", controller);

或者,

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

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

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

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>