Angularjs 如何从$scope更新项使用$resource保存后重复
我有一个角度视图,其中显示了一个项目列表,每个项目都有两个按钮,用于将每个活动设置为暂停/开始。我知道angular$resource存在一个非常基本的问题,但我无法在success$start时更新该项(在success回调中,我无法访问与该项相关的任何内容) 我认为:Angularjs 如何从$scope更新项使用$resource保存后重复,angularjs,angularjs-ng-repeat,angularjs-service,angular-resource,Angularjs,Angularjs Ng Repeat,Angularjs Service,Angular Resource,我有一个角度视图,其中显示了一个项目列表,每个项目都有两个按钮,用于将每个活动设置为暂停/开始。我知道angular$resource存在一个非常基本的问题,但我无法在success$start时更新该项(在success回调中,我无法访问与该项相关的任何内容) 我认为: <div ng-repeat="campaign in campaigns"> <button type="button" ng-show="campaign.status==0" ng-click
<div ng-repeat="campaign in campaigns">
<button type="button" ng-show="campaign.status==0" ng-click="startCampaign(campaign)" class="btn"><i class="icon-play"></i></button>
<button type="button" ng-show="campaign.status==1" ng-click="pauseCampaign(campaign)" class="btn"><i class="icon-pause"></i></button>
</div>
这是一个与闭包/范围相关的问题,而不是角度本身。在成功处理程序中,
此
不再是作用域,因此无法访问此.campaign
。实际上,你可以用多种方法来解决这个问题
我相信,简单的方法是接收活动
作为参数,然后从那里引用它:
您的HTML中已包含此内容:
ng click=“启动公司(活动)”
因此,接受并使用它:
$scope.startCampaign=功能(活动){
var c=新活动(活动);
c、 $start(功能成功(响应){
campaign.status=1;
},
...
};
<div ng-repeat="campaign in campaigns">
<button type="button" ng-show="campaign.status==0" ng-click="startCampaign(campaign)" class="btn"><i class="icon-play"></i></button>
<button type="button" ng-show="campaign.status==1" ng-click="pauseCampaign(campaign)" class="btn"><i class="icon-pause"></i></button>
</div>