0

我目前正在尝试在我的 Angular.js 应用程序中构建一个“喜欢”功能。我有基本的“喜欢”部分,代码如下:

$scope.likeClicked = function () {

      if (!hasLiked) {
          hasLiked = true;
          $scope.liked = 'Unlike';
          $scope.likeCount += 1;
      } else {
          hasLiked = false;
          $scope.liked = 'Like';
          $scope.likeCount -= 1;          
      }

  };

我想要实现的是,因为“喜欢”将由 JSON 文件提供,然后使用“ng-repeat”循环,所以是一个计算 JSON 文件中有多少喜欢的函数。需要注意的是,我们提供的 JSON 文件并没有明确地用数字表示“喜欢”,您只知道他们在文件中有一个“名称”对象。

请帮忙,我以前从未使用过 JSON!

谢谢。

J.P

4

1 回答 1

1

不要试图从ng-repeat. 这有点倒退——为什么要进行 DOM 查找来获取范围内已经可用的信息?你可能想要这样的东西:

$http.get('likes.json').success(function(data) {

  $scope.likes = data;

});

$scope.addLike = function(item) {
    // add item to $scope.likes
}

然后在您的 html 中您可以执行以下操作:

<p>You have liked {{likes.length}} items.</p>
<ul>
    <li ng-repeat="item in items">
        {{item}}
        <button ng-click="addLike(item)"></button>
    </li>
</ul>
于 2013-04-18T22:27:00.910 回答