サンプルアプリケーションを実装しており、Twitterのようなフォローボタンを実装する必要があります。HTMLとAngularJSのトグルボタン
次のように私はng-click
関数は、DBテーブルを処理し、また、ボタンのUIを切り替え
<button class="btn pull-right{{setButtonStyle(S.Id)}}"
ng-class="{true:'btn-primary', false:'btn-secondary'}[!S.isFollow]"
ng-click="toggleFollow(S.Id)"> {{!S.isFollow && 'Follow' || 'Unfollow'}}
</button>
、ボタンを符号化しています。
$scope.toggleFollow = function (userId) {
var element = $scope.followIds.indexOf(userId);
if (element == -1) {
// Follow user
$scope.Searched[Sindex].isFollow = !$scope.Searched[Sindex].isFollow; // Toggles the button
console.log("Follow called");
})
} else if (element > -1) {
// Unfollow user
$scope.Searched[Sindex].isFollow = !$scope.Searched[Sindex].isFollow; // Toggles the button
console.log("Unfollow called");
})
}
}
問題はボタンがランダムに切り替わらないことです。ボタンをクリックするたびにAngularJSダイジェストループが起動しないと思われます。
ボタンがクリックされるたびにAngular関数が呼び出されることは確かです。トグルだけが期待どおりに発射されません。では、クリックするたびにボタンをどのように切り替えるのですか?あなたのケースでは
するTry $スコープ。$ – Lax
@Laxが行った最後の関数の行に)(適用されます。 'Error:[$ rootScope:inprog] $が既に適用中です.' – Rai
plnkrや他のものを投稿できますか? – Lax