0
私は、ページがスクロールされたときに/で要素のクラスを切り替えることを試みています。AngularJS:ウィンドウスクロールイベントにクラスバインディングを切り替えることができないのはなぜですか?
私はthis SO threadに従っていますが、ディレクティブで連鎖しようとすると、私はログステートメントに到達しません。
角度のドキュメントと一緒にやってみると、私はこのようなファイルcomponent.js
を持っています。私は、表示するログステートメントを得ることができますが、クラスは決してトグルされます。
dashboard.component.js
angular.module('dashboard')
.component('dashboard', {
'templateUrl': 'dashboard/dashboard.template.html',
controller: function dashboardController($scope, $window, $mdSidenav) {
var primaryAppBar = angular.element(document.querySelector('#primaryAppBar'));
angular.element($window).bind('scroll', function() {
if (this.pageYOffset > 0) {
console.log('add shadow');
$scope.boolChangeClass = true;
} else {
console.log('remove shadow');
$scope.boolChangeClass = false;
}
});
...
APP-bar.template.html
<md-toolbar id="primaryAppBar" ng-class="{'md-whiteframe-1dp':boolChangeClass}">
...
_dashboard.component.js_で変更している範囲は_app-bar.template.html_と同じですか?それが何であるかはわかりません。 –
@HarrisWeinsteinどのくらい私が学ばなければならないかは、痛いほど明白です。それは実際問題でした。どうもありがとうございます! – Damon
うれしかった!私はあなたが解決済みとマークすることができるように答えを追加します。 –