Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 在'中使用ng init的替代方案;查看';?_Angularjs - Fatal编程技术网

Angularjs 在'中使用ng init的替代方案;查看';?

Angularjs 在'中使用ng init的替代方案;查看';?,angularjs,Angularjs,我正在尝试为我的应用程序创建一个“like”功能。我希望能够将动态生成的数字的值设置为“like count”。问题在于使用“ng init”,因为文档中说这是一种不好的方法 如何在“控制器”而不是“视图”中设置值 以下是我到目前为止的情况: 安古拉斯普朗克 文件。写(“”); {{feed.createdby}} {{feed.content} {{isLiked[$index]| liked} {{likeCount}} 谢谢 改变一下 `{{likeCount}` `{{feed.

我正在尝试为我的应用程序创建一个“like”功能。我希望能够将动态生成的数字的值设置为“like count”。问题在于使用“ng init”,因为文档中说这是一种不好的方法

如何在“控制器”而不是“视图”中设置值

以下是我到目前为止的情况:


安古拉斯普朗克
文件。写(“”);
{{feed.createdby}}
{{feed.content}

{{isLiked[$index]| liked} {{likeCount}}
谢谢

改变一下

`{{likeCount}`

`{{feed.likes.length}}`。
如果出于其他原因(我看不到),您仍然需要控制器中的计数,请创建一个控制器,让我们假设
FeedCtrl
,并将其添加到您的
文章中:


...
{{likeCount}}
您的FeedCtrl将是:

函数FeedCtrl($scope){
$scope.$watch('feed.likes.length',函数(newValue){
$scope.likeCount=newValue;
});
}
另一种方法是创建函数来解析值:


...
{{likeCount()}}
函数FeedCtrl($scope){
$scope.likeCount=函数(){
返回$feed&$feed.likes?$feed.likes.length:未定义;
};
}

如果您的提要对象/数组很长,出于性能原因,最好使用ng bind

<span ng-bind="likeCount"></span>

谢谢你的回复。我更喜欢第二种方法,我已经把它扔进了垃圾桶:对不起,我的错。这是
$scope.feed
。固定的。还请注意我首先错过的
返回
。不用担心。我已经把它扔回了Plunker,但仍然无法让它返回值。每次我尝试使用$scope.feed.likes方法检索任何内容时,都会遇到这个问题。它将返回$scope.feed,只是不喜欢“喜欢”!即使我尝试这样做:$scope.likeCount=function(){return$scope.feed&&$scope.feed.likes?$scope.feed.likes.length:undefined;};-没有返回任何内容。两个问题:您编写了
$feed
,而不是
$scope.feed
。您忘记了创建新控制器的部分,即
FeedCtrl
。看一看。最后,我可能会将像Clicked一样的
移动到
FeedCtrl
{{likeCount}}