私はangularjs-app内のいくつかの変数に苦労しています。
サーバー向けの「チャンネル」を持つ「モジュール」を視覚化し、そのチャンネルを非表示にすることができます。私はそのチャンネルをダブルクリックしてチャンネルポップアップでチャンネルを隠したいのですが。
角度-コントローラスニペット:
$scope.dblclick = function(chid) {
$scope.chclicked = chid;
$scope.hidden = $scope.moduledata.channels[chid].hidden !== 0 ? true : false;
$scope.popupvisible = true;
};
$scope.popupok = function() {
$scope.moduledata.channels[$scope.chclicked].hidden = $scope.hidden === true ? 1 : 0;
$scope.popupvisible = false;
};
$scope.popupcancel = function() {
$scope.popupvisible = false;
};
$scope.closePopup = function() {
$scope.popupvisible = false;
};
ポップアップを表示する前に、私は(私がしようとする)ポップアップを閉じるときにそれらへのアクセスを持っているために、現在の'hidden'
値とchannel-id
を設定します。
ポップアップのチェックボックスにはng-model="hidden"
が設定されています。
moduledata
の隠れた値が更新/変更されず、$scope.hidden
は常にすべてのチャンネルのチェックボックスの最後の値をポップアップに保持するという問題があります。
$scope.chclicked
でも問題ありません。
Plunk私の問題を視覚化しました。
それはで言われています@Appeiron [Angular JS documこのディレクティブが新しいスコープを作成し、優先順位レベル400で実行されることを確認します( –
)。しかし、今すぐ自分のチャンネルをすぐに非表示/非表示にします。 「OK」をクリックしたときにのみ変更を適用したい – Draz
@Draz Plunkerを更新しました。それを見てください。 –