好的,所以我的问题是我认为我有以下设置:
<a class="like" ng-tap="likeClicked()"><span>{{isLiked}}</span></a>
此外,我还有另一个关键的视图元素:
<span class="like-count" ng-tap="viewLikes()" ng-init="likeCount=feed.likes.length"{{likeCount}}</span>
然后是我的控制器,我有以下代码:
$scope.likeClicked = function () {
console.log($scope.feeds);
if (!hasLiked) {
hasLiked = true;
$scope.isLiked = 'Unlike';
} else {
hasLiked = false;
$scope.isLiked = 'Like';
}
};
最后,一些虚拟的 JSON:
{
"id":5,
"title":"Feed 1",
"createdby":1,
"typeId":2,
"content":"Lorem ipsum dolor sit amet, consectetur adipisicing elit,",
"createdon":"2013-03-21 14:53:35",
"editedon":"2013-03-21 14:53:35",
"comments": [
{
"id": 0,
"createdby": 5,
"content": "Lorem ipsum dolor sit amet, consectetur adipisicing elit,",
"createdon":"2013-03-21 14:53:35"
}
],
"likes": [
{
"id": 11,
"createdby": 4,
"createdon":"2013-03-21 14:53:35"
},
{
"id": 13,
"createdby": 2,
"createdon":"2013-03-21 14:53:35"
}
]
}
我想要实现的是,当用户点击时likeClicked
,喜欢“喜欢”(尽管这有点有效)。然后一旦喜欢,我需要获取与.length
该提要项关联的 JSON 子项中的数组。问题来了,我可以使用控制台日志返回控制台中的对象console.log($scope.feeds);
,但是,如果我使用console.log($scope.feeds.likes);
,这将返回未定义,即使它是数组和$scope
单击元素中的可用对象。
例如,我不想指定 JSON 的特定子项console.log($scope.feeds[3});
,因为如果我可以根据ng-repeat
单击的项目动态设置子项会更好。
那里有任何 Angular 坏蛋,请帮忙!
谢谢,
J.P