我试图找出如何检查KineticJS中的图层是否可见。我需要这个,以便在用户单击按钮时适当切换任何给定图层的可见性。如果它可见,我想在他们点击按钮时隐藏它。如果它不可见,那么我想展示它。思考?我看到有一个isVisible函数,但当我尝试在一个图层上使用它时什么也没发生。下面的代码没有错误,但它没有做任何事情。这是在Angular上的KineticJS中编写的。在我的测试中,我发现这个事件被恰当地触发了,所以不是那样。我还发现绘制函数适当地触发。
scope.$on('layertoggle', function(event){
var layerShapes = scope.kineticStageObj.get('#layer1');
if(!layerShapes.isVisible()){
layerShapes.hide();
}
else{
layerShapes.show();
}
scope.kineticStageObj.draw();
});
答案 0 :(得分:0)
试试这个:
var layerShapes = scope.kineticStageObj.get('#layer1')[0];
get
返回符合该条件的形状集合。尽管id
是唯一的,但您仍然必须访问数组的第一个位置才能访问所需的形状。