我无处可去。
我正在使用ng-class =“(checkPos)?left:right”
和checkPos是范围上的一个函数,它检查顶部和左侧的元素偏移量,以查看它在网页上的象限。
我不确定如何识别ng-class所在的元素,以便我可以开始检查值。任何帮助将不胜感激。我搜索了几个小时,所以请不要降级我!
答案 0 :(得分:1)
这不是一个糟糕的问题。一种选择是使用指令而不是ng-class。它很容易重复使用。这样的事情应该有效。
<div x-class='checkPos'></div>
.directive('xClass', function() {
return {
restrict: 'A',
scope: {
checkPos: '=xClass'
},
link: function(scope, elem, attrs) {
if (scope.checkPos(elem[0]))
elem.addClass('left');
else
elem.addClass('right');
}
}
});
答案 1 :(得分:1)
因为这将涉及DOM,所以您应该将其实现为指令。
<div positioner>Blah</div>
设置您的指令以处理属性(称为定位器或任何您想要的)。像这样:
angular.module('positionerDirective', [])
.directive('positioner', function() {
return {
restrict: 'A',
link: function(scope, element){
var top = element[0].offsetTop;
var left = element[0].offsetLeft;
//do whatever math you need here
angular.element(element).addClass(class you need);
}
};
});