【发布时间】:2015-01-19 23:27:14
【问题描述】:
我的控制器中有一个函数可以切换一个类,并将值 $scope.logocollapsed 更改为 true 以隐藏元素。当我使用ng-click 调用它按设计工作的函数时,会添加类并将值设置为true。
我做了一个指令来切换类,并改变$scope.logocollapsed的值,这是在滚动事件上调用的,它会切换类,但是它不会改变$scope.logocollapsed的值
这是我的指令:
.directive('scrollspy', function () {
return {
restrict: 'A',
link: function (scope, element, attrs) {
var raw = element[0];
console.log('loading directive');
element.bind( 'scroll', function() {
//console.log(raw.scrollTop);
if (! $('.sidebar-menu').hasClass('collapsed')){
if (raw.scrollTop > 200) {
scope.menuClose();
}
}
});
}
};
})
这是我的控制器内部的样子。
$scope.menuClose = function(bool) {
if(! $('.sidebar').hasClass('collapsed')) {
$('.sidebar-menu').addClass('collapsed');
$scope.logocollapsed == true;
}
};
同样,我不确定为什么我的指令能够运行 menuClose() 函数并处理类,但它不会将值更新为 false。
感谢任何建议
【问题讨论】:
-
$scope.logocollapsed == true;应该是$scope.logocollapsed = true;(一个等号而不是两个)
标签: javascript angularjs