【发布时间】:2015-11-01 05:48:06
【问题描述】:
我对 AngularJS 和编程非常陌生,我确信这是一个基本问题,但我很难找到我们的资源,以实现从 JSON 文件 ($scope.carrierDiff) 中减去两个消耗的 $scope 值)。我将不胜感激您能提供的任何帮助。
<!doctype html>
<html ng-app="MyApp">
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script src="Scripts/angular.min.js"></script>
</head>
<body >
<div ng-controller="SiteCtrl">
<ul ng-repeat="site in sites">
<li>{{site.ID}}</li>
<li>{{carrierDiff}}</li>
</ul>
</div></body>
<script>
var app = angular.module("MyApp", []);
app.controller("SiteCtrl", function($scope, $http) {
$http.get('JSON/getsamplesitesCopy.json').
success(function(data, status, headers, config) {
$scope.sites = data;
$scope.carrierDiff = $scope.sites.Carrier - $scope.sites.Carrier2;
}).
error(function(data, status, headers, config) {
// log error
});
});
</script>
</html>
【问题讨论】:
-
您写信给 $scope.sites,但您正在对 $scope.data 进行计算。它是哪一个?我认为这是你的问题。
-
Carrier 是整数还是字符串?请提供 getsamplesitesCopy.json 的结构或创建 JSFiddle.net 项目,以便我们看到您的问题的重现。
-
它应该是 $scope.sites @dman2306。我更正了,但我仍然没有得到 {{carrierDiff}} 的结果,我收到的错误是:TypeError: Cannot read property 'Carrier' of undefined.
-
@BrianGerhards Carrier 和 Carrier2 都是整数
-
Cannot read property 'Carrier' of undefined本质上是在说$scope.sites === undefined。只有当您没有数据,或者此代码不是正在使用的实际代码时,才会发生这种情况。
标签: arrays json angularjs scope