如何访问 riot.js 中的子元素

2023-12-27

如果我有一个习惯riot带有一个标签p像这样:

<custom>
  <p>This is a text</p>
</custom>

我如何访问<p>元素从内部<custom> tag?

Update:我收到了一大堆关于从 DOM 中选择它的方法的答案。我想要的是一种选择内在的方法p来自组件库内的标签riot.js https://github.com/muut/riotjs本身。我正在寻找更 riotjs 具体的答案。例如与polymer https://github.com/polymer/polymer你用this.$.content.getDistributedNodes().


Riot 仅提供 4 个属性来访问您所在当前标签的数据:

  • 这个.opts
  • this.parent
  • 这个.root
  • 这个标签

请参阅 API 文档 https://muut.com/riotjs/api/#tag-instance

edit

除此之外你还可以直接访问named elements:

<my-tag>
  <p name="foo">Hi, I'm foo</p>
  <script>
    console.log(this.foo);
  </script>
</my-tag>

请参阅文档 https://muut.com/riotjs/guide/#named-elements

/edit

There's no direct reference to any of the elements you defined in your custom-tag; the rest comes down to just pure old JS (which you might favour or not).

正如其他人所说,您可以使用 dom 方法访问元素。然而,在某些情况下,您需要等待 DOM 实际加载。例如:

<my-tag>
  <p>yada</p>
  <script>
    console.log(this.root.querySelector('p'))
  </script>
</my-tag>

不起作用,因为 DOM 还没有准备好。相反,将选择器包装在“mount”事件侦听器中,如下所示:

<my-tag>
  <p>yada</p>
  <script>
    this.on('mount', function() {
      console.log(this.root.querySelector('p'))
    })
  </script>
</my-tag>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何访问 riot.js 中的子元素 的相关文章

  • 在 javascript/jquery 中将光标更改为等待

    当调用函数时 如何让光标更改为此加载图标以及如何将其更改回 javascript jquery 中的普通光标 在你的 jQuery 中使用 body css cursor progress 然后又恢复正常 body css cursor d
  • 使用 vscode 调试器调试 next.js

    我已经使用安装了一个项目创建下一个应用程序 https github com segmentio create next app 我需要使用我的编辑器 vscode 调试服务器端渲染 所以我访问过vscode recipes 如何调试 ne
  • Android 设备上的 PhoneGap 蓝牙插件

    我一直在尝试让 PhoneGap 工作的蓝牙插件 但我似乎不知道哪里出了问题 首先 我的测试设备是 Galaxy S3 GT 19305T 应用程序是使用PhoneGap CLI http docs phonegap com en 3 0
  • TypeError: props.render 不是一个函数(React hook 形式)

    我将方法作为我用react hook form制作的形式的道具传递 当从react hook form添加控制器时 它给了我 TypeError props render不是一个函数 我在网上找不到任何解决方案 因此感谢任何帮助 impor
  • 如何重置使用 JavaScript 更改的 CSS 属性?

    我的导航按钮的宽度从 100px 增加到 150px 当鼠标悬停在 nav li hover width 150px 但是使用 javascript 我已经做到了 无论选择哪个选项 宽度都将继续为 150px 当选择每个选项时 它会使其他选
  • Meteor:应用程序无法在 0.9.1.1 版本上运行

    出现类似错误 Error TypeError undefined is not a function evaluating Template create anonymous function iron dynamic template j
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • Node.js:如何在检索数据(块)时关闭响应/请求

    我正在用 node js 构建一个应用程序 它加载多个页面并分析内容 因为 node js 发送块 所以我可以分析这些块 如果一个块包含例如索引 nofollow 我想关闭该连接并继续其余部分 var host example com to
  • 除了更改标题之外,如何在 Firefox 中强制另存为对话框?

    有没有办法在 ff 中强制打开 www example com example pdf 的另存为对话框 我无法更改标题 如果您可以将文件以 Base64 格式输出到客户端 则可以使用 data uri 进行下载 location href
  • 标签获取 href 值

    我有以下 html div class threeimages a img alt Australia src Images Services 20button tcm7 9688 gif a div class text h2 a hre
  • Meteor - 从客户端取消服务器方法

    我正在通过服务器方法执行数据库计数 用户可以选择他们希望如何执行计数 然后调用该方法 我的问题是 计数可能需要一些时间 并且用户可能会在方法运行时改变主意并请求不同的计数 有什么方法可以取消调用的方法并运行新的计数吗 我认为 this un
  • 跟踪用户何时点击浏览器上的后退按钮

    是否可以检测用户何时单击浏览器的后退按钮 我有一个 Ajax 应用程序 如果我可以检测到用户何时单击后退按钮 我可以显示适当的数据 任何使用 PHP JavaScript 的解决方案都是优选的 任何语言的解决方案都可以 只需要我可以翻译成
  • 在 webpack 2.x 中使用 autoprefixer 和 postcss

    如何使用autoprefixer使用 webpack 2 x 以前 它曾经是这样的 module loaders test scss loader style css sass postcss postcss gt return autop
  • Babel 7 Jest Core JS“TypeError:wks不是函数”

    将我的项目升级到 Babel 7 后 通过 Jest 运行测试会抛出以下错误 测试在 Babel 6 中运行没有任何问题 但在 Babel 7 中失败并出现以下错误 TypeError wks is not a function at Ob
  • 如何在react-native中获取Text组件的onPress值

    我是一名新的 React Native 开发人员 我想使用 onPress 获取 Text 组件的值并将其传递给函数
  • 如何在类似控制台的环境中运行 JavaScript?

    我正在尝试遵循这里的示例 http eloquentjavascript net chapter2 html http eloquentjavascript net chapter2 html and print blah 在浏览器中运行时
  • Javascript转换时区问题

    我在转换当前时区的日期时间时遇到问题 我从服务器收到此日期字符串 格式为 2015 10 09T08 00 00 这是中部时间 但是当我使用 GMT 5 中的 new Date strDate 转换此日期时间时 它返回给我的信息如下 这是不
  • 条件在反应本机生产中失败,但在开发中有效

    我创建了一个反应本机应用程序 我需要通过它进行比较 如果属实 就会执行死刑 问题是 该条件适用于 React Native 开发模式 而不适用于 React Native 生产版本 我使用 firebase 作为数据库 也使用 redux
  • 如何仅在最后一个
  • 处给出透明六边形角度?
  • 我必须制作这样的菜单 替代文本 http shup com Shup 330421 1104422739 My Desktop png http shup com Shup 330421 1104422739 My Desktop png
  • 在 React.js 中编辑丰富的数据结构

    我正在尝试为数据结构创建一个简单的基于网格的编辑器 但我在使用 React js 时遇到了一些概念问题 他们的文档对此没有太大帮助 所以我希望这里有人可以提供帮助 首先 将状态从外部组件传输到内部组件的正确方法是什么 是否有可能将内部组件中

随机推荐

  • 以相同的 C# 形式从 web 浏览器链接到 ScintillaNET 编辑器?

    我是 ScintillaNET 的新手 我以相同的形式使用 webbrowser 和 scintillaNET 编辑器组件 我的任务是当我单击网络浏览器中的链接时 它应该链接到编辑器中的文本 任何帮助和建议将不胜感激 提前致谢 None
  • Azure ARM 模板和 REST API

    我正在尝试学习 Azure 资源模板 并尝试了解何时使用它们以及何时使用 REST API 背后的工作流程 我的感觉是 在 Azure 中创建虚拟网络和子网是相当罕见的情况 一旦您按照需要进行设置 就不会过于频繁地修改它 而是将内容部署到该
  • jQuery 中的弹出窗口

    我需要一个带有单选按钮选项的弹出窗口 我已经测试过Impromtu http en wikipedia org wiki Impromptu 28programming environment 29 有没有简单的 Popupwindow 插
  • 交换两条线

    我怎样才能使用 sedH h x g G等命令交换两行 例如在文件中 START this is a dog this is a cat this is something else END 假设我想用 这是别的东西 交换 这是一只狗 这是
  • 电子商务点击量未显示在 Google Analytics 测量协议中

    因为我在网站上接受 PayPal 付款 所以我尝试使用测量协议在服务器端发送交易详细信息 使用 PayPal 付款的访问者通常不会返回我的网站查看订单确认页面 因此依靠 IPN 来记录交易是更可靠的方式 我已经能够使用测量协议成功记录事件命
  • 将 Android 设备连接到 WiFi 打印机

    我想通过我的 Android 手机使用 wifi 以任何其他方式打印我的 pdf 文档 或者请给我一个关于是否可以将我们的设备连接到 wifi 打印机或发送我们的文档进行打印的建议 我希望我能尽快得到您方面的最佳答案或任何建议 我能想到的最
  • 多个 C# 应用程序可以使用一个 App.Config 文件吗?

    我们有许多在计划任务上运行的 C 控制台应用程序 所有这些应用程序都有自己的配置文件 其中包含诸如我们的 smtp 服务器之类的设置 如果我们的 smtp 服务器发生了变化 我们将必须手动进入每个配置文件并进行更改 多个应用程序是否可以查看
  • VS Code 中是否有光标覆盖/覆盖模式?

    我似乎找不到任何方法将光标置于 覆盖 模式 就像当您按下插入键并且新键入的字符会覆盖现有的内联字符一样 我没有在网上找到任何关于 VS Code 中省略或包含此类功能的参考 但它似乎是一个相当常用的功能 这存在吗 我也错过了 Visual
  • Sparql - 如果任何一个变量未绑定,则串联失败

    您好 我正在使用 AllegroGraph 和 Sparql 查询来检索结果 这是重现我的问题的示例数据 考虑下面的数据 其中一个人有名字 中间名和姓氏
  • 为什么我在输出文件中看不到计算结果?

    这是后续如何对制表符分隔的数据文件中的列值进行平均 忽略标题行和左列 https stackoverflow com questions 9677533 how do i average column values from a tab s
  • 我的 SQL2008 实例在哪个端口上运行?

    Check out this pic of my SQL 2008 Management Configuration screen for TCP 我需要知道我正在哪个端口上运行 基于上一篇文章 https stackoverflow co
  • 无法在 Ubuntu 13.04 的 R 3.0 中安装 rJava

    我无法打电话rJava封装在R 3 0 我收到以下消息 Error package rJava was built before R 3 0 0 please re install it 当我尝试重新安装时出现错误rJava包裹 我已经提供
  • Pandas 数据框左合并而不重新索引

    想知道是否有更直观的方法来合并数据框 In 140 df1 pd DataFrame data 1 2 3 4 10 4 5 6 columns A B index 1 3 5 7 In 141 df1 Out 141 A B 1 1 2
  • cocos2d游戏如何实现暂停/恢复?

    我的问题是寻找cocos2d游戏期间暂停 恢复状态 包括所有需要保存的数据信息 的设计解决方案 包括但不限于以下情况 1 用户选择退出 然后弹出一个对话框供用户选择 直接退出 暂停 2 有人打电话进来 弹出对话框供用户选择 退出 或 暂停
  • Haskell:单个函数中的多个 Case 语句

    我想在 Haskell 函数中包含多个 case 语句 请参阅下面的假设函数示例 然而 它不是合法的 Haskell 完成同样事情的更好方法是什么 此外 如果 case 语句不返回任何内容 而只是设置某个值 那么为什么在函数中使用多个 ca
  • 如何将我的 JAR 库添加到 ubuntu 中的 tomcat7 安装中

    我正在尝试使用 tomcat7 设置 ubuntu 服务器 我使用以下命令安装了 tomcat7sudo apt get install tomcat7在Ubuntu中 我的应用程序中有一些共享库 例如 JSTL 和其他内容 因此我想将它们
  • 如何从映射它的所有 PTE 中取消映射结构页

    我希望能够从页面缓存中删除页面 以便下次访问该页面 通过任何进程 将触发页面错误 我是从内核执行此操作的 并且我有一个指向struct page我想删除 从页面缓存中删除很容易 通过 delete from page cache 但我不知道
  • PreferenceScreen 中的文本大小

    我有一个 xml 文件 它定义了一些首选项屏幕 如下例所示
  • 使用 Geopy 和 Python 进行地理编码

    我正在尝试对一个 CSV 文件进行地理编码 其中包含位置名称和解析出的地址 其中包括地址号 街道名称 城市 邮政编码 国家 地区 我想通过 Geopy 使用 GEOPY 和 ArcGIS Geocodes 我想创建一个代码 循环遍历 500
  • 如何访问 riot.js 中的子元素

    如果我有一个习惯riot带有一个标签p像这样