Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript 如何在angular js中增加我的值?_Javascript_Angularjs_Arrays - Fatal编程技术网

Javascript 如何在angular js中增加我的值?

Javascript 如何在angular js中增加我的值?,javascript,angularjs,arrays,Javascript,Angularjs,Arrays,大家好,我有一些关于$scope和json解析的问题 我有一个函数,当有人点击时,他们会发送给api+1。像数数一样容易。但当我尝试增加这个值时:我的错误在哪里?角度仅连接值+1示例我单击时有6再次显示61单击611 <button class="place-button col-33" ng-if="usermeta.like_post" ng-click="like(post.id); post.likes = post.likes + 1"> <span cl

大家好,我有一些关于$scope和json解析的问题

我有一个函数,当有人点击时,他们会发送给api+1。像数数一样容易。但当我尝试增加这个值时:我的错误在哪里?角度仅连接值+1示例我单击时有6再次显示61单击611

<button class="place-button col-33" ng-if="usermeta.like_post" ng-click="like(post.id); post.likes =  post.likes + 1">
     <span class="col-50">
          <i class="fa fa-beer"></i>
     </span>
     <span class="col-50">
         {{likes}}
     </span>
</button>
当我在没有从Json API获取数据的情况下尝试这一点时,这是可行的,但使用它们却没有

尝试使用:$scope.likes=+$scope.likes+1;。该力的结果为整数

HTML

函数TodoCtrl$scope{ $scope.likes='0'; $scope.incrementLikes=函数{ $scope.likes=+$scope.likes+1; } } 点击 {{likes} 尝试使用:$scope.likes=+$scope.likes+1;。该力的结果为整数

HTML

函数TodoCtrl$scope{ $scope.likes='0'; $scope.incrementLikes=函数{ $scope.likes=+$scope.likes+1; } } 点击 {{likes}
它将模型值post.likes视为字符串。使用parseIntpost.likes+1或Numberpost.likes+1。这些函数在ui中不可访问,所以请使用控制器内的函数并在ui中调用该函数

$scope.incrementlike = function() {
    $scope.post.likes = parseInt($scope.post.likes) + 1;
}

它将模型值post.likes视为字符串。使用parseIntpost.likes+1或Numberpost.likes+1。这些函数在ui中不可访问,所以请使用控制器内的函数并在ui中调用该函数

$scope.incrementlike = function() {
    $scope.post.likes = parseInt($scope.post.likes) + 1;
}

看起来您的服务将post.likes作为字符串而不是数字返回,如下所示:{likes:6}。这就是为什么字符串连接会发生而不是增量

要解决此问题,请执行以下操作:

-您可以更改服务以将likes作为数字返回:{likes:6},或者

-通过以下方式转换前端的类似项:

PostService.getPost(postId)
    .then(function(data){
        $scope.post = data.post;
        $scope.post.likes = parseInt($scope.post.likes);
})

看起来您的服务将post.likes作为字符串而不是数字返回,如下所示:{likes:6}。这就是为什么字符串连接会发生而不是增量

要解决此问题,请执行以下操作:

-您可以更改服务以将likes作为数字返回:{likes:6},或者

-通过以下方式转换前端的类似项:

PostService.getPost(postId)
    .then(function(data){
        $scope.post = data.post;
        $scope.post.likes = parseInt($scope.post.likes);
})

您可能正在向字符串中添加1,因此得到的是串联而不是加法。首先将字符串转换为数字,例如+post.likes+1或Numberpost.likes+1或parseIntpost.likes+1或其他…是的,实际上需要int-Thanks您可能正在将1添加到字符串中,因此得到的是串联而不是加法。首先将字符串转换为数字,比如+post.likes+1或Numberpost.likes+1或parseIntpost.likes+1或其他什么…是的,实际上需要int谢谢
PostService.getPost(postId)
    .then(function(data){
        $scope.post = data.post;
        $scope.post.likes = parseInt($scope.post.likes);
})