2016-04-05 15 views
0

anglejのステータスを変更した後、クリックされた行を非表示にしようとしています。ここに私のコーディングがありますし、私にそれを行う方法を教えてください?anglejsのステータスを変更した後に行を非表示にする方法

table.table 
    tr(data-ng-repeat="application in job.applications", ng-hide="application.hideApplication") 
     td.status 
      div.bold #{getMessage('Change Status:')} 
      div.normal 
       a(ng-class="app_status === 'shortlist' ? 'admin_edit_bold' : 'admin_edit_normal'", ng-click="changeApplicationStatus(application.id, 'shortlist', application)") #{getMessage('Shortlist')} 
     td.rating 
      div(ng-init='rating = application.app_rating') 
      .star-rating(star-rating='', rating-value='rating', data-max='5', on-rating-selected='rateFunction(application.id, rating)') 

ここにcontrollerjsがあります。属性が同じ要素では動作しないだろうと

:あなたがコメントに続く

ng-hide="application.hideApplication" 

編集/非表示を表示したいとしている方の要素にこの属性入れ

$scope.changeApplicationStatus = function (appId, app_status, application) { 
    return jobsService.changeApplicationStatus(appId, app_status).then(
     function() { 
      application.hideApplication = false; 
     } 
    ); 
}; 

答えて

0

ng-repeat、私はアプリケーション変数が範囲内にあるとは思わない...

代わりに、あなたのリピートを変更することができます:

application in job.applications | filter: { hideApplication : false } 
+0

申し訳ありませんが、申し訳ありませんが、ng-hide = "application.hideApplication"をtrに入れてください。私が追加しても動作しません。 – ppshein

+0

@ppsheinがrepeatステートメントのフィルタで更新された場合は、それがあなたのニーズを満たしているかどうかを教えてください。 – Nathan

関連する問題