如何在使用 Binding.scala 将元素加载到 dom 后执行一些 init

2023-11-29

@dom 
def chart(show: Var[Boolean]) = {
  if(show.bind) {
    <canvas id="chartCanvas"><canvas>
  }
}

如何使用一些图表库初始化画布,例如chartjs什么时候加载到dom?


解决方案1

@dom 
def chart(show: Var[Boolean]) = {
  if(show.bind) {
    val myCanvas = <canvas id="chartCanvas"><canvas>
    myInitializationCode(myCanvas)
    myCanvas
  } else {
    <!-- don't show canvas -->
  }
}

解决方案2

您可以创建一个自定义单安装点,并将初始化代码放入重写中mount method:

val yourCustomMountPoint = new SingleMountPoint[Boolean](show) {
  override def mount() = {
    super.mount()
    // Your custom initialization code
  }
  override def unmount() = {
    // Your custom clean up code
    super.unmount()
  }
  override def set(newValue: Boolean) = {
    // Your custom handler when `show` get changed
  }
}

// Inject your custom mount point into the rendering process
yourCustomMountPoint.bind
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在使用 Binding.scala 将元素加载到 dom 后执行一些 init 的相关文章

  • 如何在使用 Binding.scala 将元素加载到 dom 后执行一些 init

    dom def chart show Var Boolean if show bind
  • 无法让 uTest 查看我的测试

    我正在尝试让 uTest 与 ScalaJS 和 SBT 一起使用 SBT 正在编译文件 uTest 正在运行 但它只是忽略我的测试 尽我所能 我找不到我的代码和教程示例之间的任何区别 构建 sbt enablePlugins ScalaJ
  • Binding.scala:避免过多 dom 树更新的策略

    在我的项目中scala 适配器我显示通过网络套接字发送的日志条目 由于我无法控制发送的条目数量 因此我正在寻找一种策略来避免屏幕冻结 我创建了一个 ScalaFiddle 来模拟 https scalafiddle io sf kzr28t
  • 如何读取Scala.js中的资源文件?

    假设我有一个map csv文件位于同一级别 或其他一些 web 应用程序可访问的位置 index dev opt html e g key1 value1 key2 value2 keyN valueN 我想读取该 CSV 文件并最终得到一
  • 使用 scalajs 创建自定义 DOM 事件

    我找不到使用 scala js 创建自定义事件的方法 例如 使用 js 您可以创建如下所示的自定义事件 摘自此处 var event new CustomEvent build detail elem dataset time 但是 没有构
  • 调整大小之前传单地图无法正确显示

    我在 Binding scala 上使用带有 scalajs leaflet 外观的 Leaflet 并且地图初始化 显示不正确 为了重现这个问题 我准备了一个lihaoyi workbench页面类似于 scalajs leaflet 中
  • scala.js 与 jscala 有什么区别?

    有两个工具可以直接在 JavaScript 中编译 Scala 代码 Scala js http www scala js org and JScala https github com nau jscala 它们看起来都很棒 并且可以使用
  • 使用不透明类型(Char 和 Long)

    我正在尝试导出算法的 Scala 实现以在 JavaScript 中使用 我在用着 JSExport 该算法适用于 ScalaChar and Long值被标记为opaque in the 互操作性指南 http www scala js
  • 如何使用 scala.js 读取文本文件?

    基本上我想弄清楚我需要传递什么onload method def selectedFile e ReactEventI val reader new dom FileReader reader readAsText e currentTar
  • 如何导出共享案例类的属性

    我正在尝试在服务器和客户端之间共享案例类 我在两端都使用了 upickle 对象及其数据在两端都可以很好地使用 共享类 case class Foo var id Long var title Description 但是我需要在客户端导出
  • DOM 更新过多

    链接 https ccamel github io playground binding scala index html playground binding scala home https ccamel github io playg
  • 如何将现有的 Scala 库移植到 scalajs?

    我是 Scala js 新手 我想使用 Argonaut json 库 https github com argonaut io argonaut https github com argonaut io argonaut 它唯一的依赖项似
  • JSweet 能否有效地移植 Java 库以在交叉构建的 Scala.js 项目中使用?

    寻找使 Java 库可供 Scala js 的 JavaScript 和 JVM 端访问的方法交叉构建 https www scala js org doc project cross build html项目 请考虑以下实验 想象一下 S
  • 从 SJSIR “手动”构建 JS

    我需要在运行时从 sjsir 文件构建一个 js 文件来实现插件系统 这样就无法在编译时与我的其余编译一起完成 我曾经在 0 6 3 中使用以下代码实现相同的过程 但它似乎已被弃用 您建议使用什么算法来实现与 0 6 13 相同的操作 谢谢
  • 为 JavaScript 模块编写 scalajs Facade 时如何使用 JSImport

    我使用 JSImport 编写了一个外观 并且它有效 不幸的是 我通过反复试验找到了解决方案 并且我不完全理解为什么这个特定的解决方案有效 但我尝试过的其他解决方案却无效 背景 我从一个使用 sbt 构建的工作项目开始 它是一个单页应用程序
  • 如何从传递到 scalatags 的事件处理程序访问“this”元素?

    我正在尝试访问当前的文本 this 元素来自使用 scalatags 创建的事件处理程序 这是我尝试过的 val onChange e HTMLElement gt number e textContent toInt js ThisFun
  • 如何在 Nodejs 中实际运行 scalajs 代码?

    我正在开发一个后端聊天服务器 它目前是用混乱的回调 javascript 编写的 所以我正在考虑将其移植到 scalajs 我一直在浏览初学者指南 但我找不到如何将项目实际编译为可以使用节点运行的单个 JavaScript 文件 例如nod
  • scala-js 如何与 sbt-web 集成?

    我想用scala js https github com scala js scala js with sbt web https github com sbt sbt web以这样的方式 它可以被编译以生成添加到资产管道中的 JavaSc
  • 为什么不重新评估 Binding.scala 路由器?

    我正在尝试通过 Binding scala 为个人项目构建通用路由器 我定义了一个PageState trait sealed trait WhistState def text String def hash String def ren
  • 用于真实 Web 项目的 Scala-JS [已关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 有人用过吗Scala JS在真实的网络项目中 但不仅仅适用于普通的JavaScript在隔离环境中替换 我想尽可能多地使用 Scala 我希望可

随机推荐

  • Google 地图中的自定义标记和航点标记

    我正在寻求帮助 我有下面的谷歌地图代码 工作正常 我唯一需要的是起点上的自定义标记 51 943382 6 463116 并且航路点上没有标记 这可以做到吗 我已经尝试了 Stackoverflow 的几种解决方案 但我对 GM 代码和编程
  • 输入类型=文件和 Spring Boot 的 Angular 2 模板表单

    我有一个包含两个输入的表单 一种是文本类型 另一种是文件类型 我怎样才能将文件传递到后端Spring Boot 以及如何使用 postgresql 数据库存储或获取内容数据 预先感谢您的退货 HTML 文件
  • 使用 VBA 宏选择和复制 Outlook 电子邮件正文

    我是 Excel 中 VBA 宏的初学者 这是 Outlook 中的第一次尝试 但这是我正在尝试做的事情 在 Outlook 2010 中 将宏分配给按钮 按下该按钮时 获取活动电子邮件的整个正文 将正文 包括所有格式和 html 复制到剪
  • 为什么 shell 中 0 为 true,1 为 false?

    false echo 上面会输出1 这与我所知道的所有其他编程语言相矛盾 这其中有什么原因吗 Bash 是一种编程 脚本 语言 但它也是一个 shell 和一个用户界面 如果0是错误 那么程序只能出现一种错误 然而在 Bash 中 任何非零
  • 在数组过滤时响应更新,但在添加元素时不响应更新

    我正在尝试模拟一个能够添加和删除产品的表 但是该组件仅在删除组件时更新 但在添加新行时不会更新 我在用着useState 这是我的数组 const rowss createData 1 Zapatillas 2 200 createData
  • 正确地在图像上绘图

    我正在创建一个小型图像编辑器 现在我试图让用户有机会通过拖动鼠标在图像上绘图 就像 MS Paint 中的铅笔工具一样 我遇到了一些困难 因为当我移动光标太快时 应用程序无法绘制所有应该着色的像素 只有一小部分数字被正确着色 我尝试了两种解
  • 使用 jQuery Ajax 删除 mySQL 表行

    我正在尝试做到这一点 因此当我单击跨度图标时 它会将article id发送到我的php sql页面 该页面会删除我的文章 我使用jQuery Ajax发送id id在jQuery端发送正常 但之后http post 请求已完成 我的表行仍
  • 输入对于数组来说太大

    我有一个小问题 我只是想知道 include
  • Azure Web 应用程序从 AAD 身份验证注销

    我无法从以 Azure Active Directory 作为身份验证提供程序的简单 Azure Web 应用程序注销 用户使用显示的 AAD 登录页面登录站点here 但我正在努力找出如何注销用户 我尝试使用各种未记录的注销网址 例如 h
  • Visual Studio 不将 SVG 图像显示为背景

    我有一个带有 html 文件 Html 5 的 asp net 项目 我正在尝试使用 CSS 3 将 SVG 设置为我的 body 标签的背景 我的文件如下 在我的 Style css 中 当我双击并打开 html 文件时 我可以看到主体充
  • 如何编写一个捕获所有异常的“try”/“ except”块?

    我怎样才能写一个try except捕获所有异常的块 除了光秃秃的except 子句 正如其他人所说你不应该使用 你可以简单地抓住Exception import traceback import logging try whatever
  • 实现引用类型和非引用类型的特征会导致实现冲突

    我正在尝试创建一种特征 并为所有非引用类型提供一种实现 为所有引用类型提供另一种实现 这无法编译 trait Foo impl
  • 我应该如何在 ACL 中构建资源树?

    我想使用 PHP 和 Zend ACL 创建一个极其灵活的权限系统 我希望能够向特定类型的所有对象以及这些对象的实例分配权限 如果查询对象的特定实例并且资源树中不存在该实例 则可以使用 通用 对象的权限集 我的问题是 这需要嵌套 并且我无法
  • Internet Explorer z 索引错误?

    如何将一个元素重叠到 Internet Explorer 中相对定位的另一个元素上 Z index 不起作用 它总是出现在相对定位元素的后面 看起来我在开玩笑 但我不是 myLinkCssClass background url
  • Linux x86_64 上的 Cassandra 启动错误 1.2.6

    尝试从最新的稳定版本在 Linux 上安装 cassandra http cassandra apache org download 1 2 6 我已修改 cassndra yaml 以指向自定义目录而不是 var 因为我没有 var 的写
  • 构建 android studio 项目时运行 lint

    我希望在使用 android studio 构建项目时能够运行 lint 任务 以确保遵循 lint 规则 我尝试过使用任务依赖项 但没有成功 我的 TeamCity 构建服务器使用运行 lint 任务的构建任务 因此效果很好 然而 and
  • 从没有默认构造函数的虚拟基派生类

    我正在为我正在开发的 C 应用程序编写一个小的异常类层次结构 并且我无法间接派生std runtime error 这是与我迄今为止编写的代码类似的代码 class RuntimeException public virtual boost
  • 如何使用 Vite 构建多个包,类似于 Webpack 中的多编译器模式(多配置)

    我有一个应用程序 它有一个主 index html 和 main js 但也有外部脚本 库 从 main js 内部以编程方式注入到 index html 中 所有这些脚本 库 的构建方式都不同 因为它们需要不同的别名 插件 加载器和文件夹
  • 是否可以抓取 ASP.NET 页面?

    有没有办法抓取一些使用 doPostBack 作为事件调用的 ASP NET 页面 Example 第1页 aspx 包含 1 个重定向到 Page2 aspx 的 LinkBut ton LinkBut ton Click 事件的隐藏代码
  • 如何在使用 Binding.scala 将元素加载到 dom 后执行一些 init

    dom def chart show Var Boolean if show bind