角をこらして新しいことを許してください。どのようにして、すべてのビューで表現される2つのCSS状態を切り替えることができる「ナイトモード」の静脈内で何かを達成するでしょうか?例えばイオンと角度:アプリケーション全体でCSSを切り替えますか?
テイク:
ビュー1:
<ion-view>
<ion-nav-bar></ion-nav-bar>
<ion-content>
<ion-toggle toggle-class="toggle-positive" ng-click="activeButton();">Night Mode</ion-toggle>
</ion-content>
</ion-view>
ビュー2:
<ion-view>
<ion-nav-bar></ion-nav-bar>
<ion-content>
<div ng-class="'active' : isActive">Change Me!</div>
</ion-content>
</ion-view>
JS:
classApp.controller('classCtrl', function ($scope) {
$scope.isActive = false;
$scope.activeButton = function() {
$scope.isActive = !$scope.isActive;
}
});
CSS:
.active {
background: red;
}
これは自然に動作しません。変更される要素が同じビュー内にある場合にのみ実行されますが、一方のビューの要素のCSSを別のビューのCSSに変更したい場合はどうしますか?同じコントローラを使用していても問題はないようです。
サービスを使用して2つのコントローラ間で変数を渡す方法について、ここでいくつか質問しましたが、関連性はありますか?
ありがとうございます!あなたは、メインコントローラを持っている場合は
あなたはメインコントローラを持っていますか?メソッド '$ scope.activeButton'をアプリケーション全体にアクセスできるようにすることができ、変数' $ scope.isActive'はこの '$ rootScope.isActive'のようなrootScope変数になることがありますので、$ rootScope依存性アクティブな値にアクセスするすべてのコントローラーで – JoxieMedina
それはトリックを行ったようです!あなたは私に多くのおかげで私を救った! – Naxes
あなたは大歓迎です@Naxes、私はこの質問の回答として私のコメントを入れて、同じ質問、挨拶を持っている人のための有効な応答としてマークしてください! – JoxieMedina