检查KineticJS中图层的可见性

时间:2014-06-17 02:52:13

标签: javascript html5 angularjs html5-canvas kineticjs

我试图找出如何检查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();
});

1 个答案:

答案 0 :(得分:0)

试试这个:

var layerShapes = scope.kineticStageObj.get('#layer1')[0];

get返回符合该条件的形状集合。尽管id是唯一的,但您仍然必须访问数组的第一个位置才能访问所需的形状。