我使用的Portal for ArcGIS(10.4.1版本),一个web应用程序部署在带有小部件的门户中。在List层小部件中,其中一个服务没有显示,当选中复选框时,控制台中出现以下错误。
a.isVisbleOrInvisilbe不是main.js:972 at Object中的函数。遍历(main.js:840)对象。遍历(main.js:841)对象。_setTopLayerVisible (main.js:972) at Object。setTopLayerVisible (main.js:841)HTMLDivElement. _onCkSelectNodeClick (Widget.js:12)<匿名> (init.js: 166)
当我访问main.js时,isVisbleOrInvisilbe只在以下3个地方可用。
_setTopLayerVisible:函数(a) {var c;如果(this.originOperLayer。mapService && (c = this.originOperLayer。mapService, 0 < this. originoperlayer . subblayer .length)) {a ?c.layerInfo.subLayerVisible (c。subId]++: c.layerInfo.subLayerVisible[c.subId]——;这一点。_visible = a;Var b = {};this.traversal(函数(a) {0 === a. getsubblayers()。a.originOperLayer.mapService. length && (b[a.originOperLayer.mapService. length]]subId] = a.isVisbleOrInvisilbe())}); c.layerInfo.setSubLayerVisible(b) } },
再往下看
visbleOrInvisilbe: function() {var d = this.originOperLayer。mapService, h = {};h (d。subId] = this.isVisbleOrInvisilbe();d.l ayerinfo . setsubblayervisible (h)}, isVisbleOrInvisilbe: function() {for (var d = this.originOperLayer。mapService, h = -1, c = d.subId, p = 0;;) {h++;p += d. layerinfo . subblayervisible [c];c = d.layerInfo._getJsapiLayerInfoById(c);if (-1 === c.parentLayerId) return p > h ?0: 1;c = c. parentlayerid}}
我们可以清楚地看到这个函数是存在的,但它仍然说它不是一个函数。有什么问题吗?