码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • ArcGIS Maps SDK for JS:监听图层的visible属性


    文章目录

    • 1 问题描述
    • 2 解决方案
    • 3 拓展

    1 问题描述

    近期有这么一个需求。在 ArcGIS Maps SDK for JavaScript 中,使用图层的visible属性同步显示某个组件,即打开图层时显示组件,关闭图层时隐藏组件。

    首先想到的是,通过点击图层列表中的小眼睛,直接使用图层的visible属性控制组件的可见性,同步显隐组件👇
    在这里插入图片描述

    <my-component v-show='myLayer.visible'>my-component>
    
    • 1

    但是,这种方法是行不通的,图层显示或隐藏时,myLayer.visible并不会发生变化。

    2 解决方案

    可以使用 watchUtils 模块中的 watch 属性,监听图层的 visible 属性的变化。下面是一个示例:

    注意,使用 watch 函数时需要引入 watchUtils 模块:

    require([
      "esri/core/watchUtils",
      "esri/layers/FeatureLayer",
      ...
    ], function(watchUtils, FeatureLayer, ...) {
      // 在这里使用 watchUtils 和其他模块
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在下面的示例中,当 featureLayer 的 visible 属性变化时,会打印出当前的 visible 值。也可以根据需要在回调函数中做一些其他操作。

    // 监听 featureLayer 的 visible 属性
    watchUtils.watch(featureLayer, "visible", function(isVisible) {
      console.log("Feature layer visible:", isVisible);
    });
    
    • 1
    • 2
    • 3
    • 4

    3 拓展

    watch 函数用于监听一个对象的属性变化。它接受四个参数:

    • newValue:表示属性变化后的新值。
    • oldValue:表示属性变化前的旧值。
    • propertyName:表示被监听的属性名。
    • target:表示被监听的对象。
     watchUtils.watch(layer, "visible", function(newValue, oldValue, propertyName, target) {
    	console.log("Feature layer visible:", newValue);
    	console.log("Feature layer oldValue:", oldValue);
    	console.log("Feature layer propertyName:", propertyName);
    	console.log("Feature layer target:", target);
    });
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    控制台打印结果:

    在这里插入图片描述

  • 相关阅读:
    Faster R-CNN,YoloV1,YoloV2
    Antd中Table列表行默认包含修改及删除功能的封装
    R语言将列表数据转化为向量数据(使用unlist函数将列表数据转化为向量数据)
    Go语言进阶篇,单元测试、基准测试的性能测试、内存占用测试
    聊聊Hive数据血缘——从Atlas没有列级血缘的Bug讲起
    协同细菌觅食优化算法(Matlab代码实现)
    答疑 | 分布式和微服务的区别?
    分类模型的Top 1和Top 5
    掌握Conda的神经系统:使用conda config --system命令
    Interventional Contrastive Learning with Meta Semantic Regularizer
  • 原文地址:https://blog.csdn.net/weixin_46098577/article/details/134464448
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号