设置 customElement: true 时,Svelte 绑定不起作用

2024-04-19

我想使用 Svelte 构建自定义元素。

Thus in rollup.config.js I set customElement: true,然后我必须使用 来引用我的子组件。

但我发现,通过这种方式,bind不管用。这是代码示例

HelloWorld.svelte(子级)

<script>
    import Hello from './components/Hello'
    import World from './components/World'
    export let value;
</script>

<svelte:options tag={'x-app-helloworld'}/>
<input type="text" bind:value={value} >

<input>
<x-app-hello />
<x-app-world />

App.svslte(parent) 的一部分。

<x-app-helloworld bind:value={value}/>

然后父级会显示错误:'value' is not a valid binding on <x-app-helloworld> elements.

我该如何解决这个问题bind问题?


绑定适用于常规元素,因为 Svelte 知道哪个事件对应于每个绑定 — 例如,它知道value of an <input>当元素触发时发生变化change or input event.

对于自定义元素,无法知道父级应该监听什么事件(如果有)。并且没有现在一种从元素内部调度事件的巧妙方法。因此,最好的选择是将回调传递给自定义元素,并在值发生变化时调用它:

<x-app-helloworld onValueChange="{(x) => value = x}"/>
<script>
  export let onValueChange;
  export let value;

  $: onValueChange(value);
</script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置 customElement: true 时,Svelte 绑定不起作用 的相关文章

  • 使用 PHP 的 JavaScript atob 操作

    我想知道是否可以使用 PHP 解密 JavaScript 加密文本 使用 JavaScript 的 btoa 函数加密 看一下base64 decode http php net manual en function base64 deco
  • 如何访问 Chrome 的拼写检查词典?

    显然 Chrome 有一个内置字典 用于拼写检查 有 API 或某种方式来访问这本字典吗 我感兴趣的不是检查拼写 而是实际访问字典 例如 我想写Chrome 的词典自动完成扩展 https stackoverflow com questio
  • Three.js - 如何翻译几何图形

    我有一个脚本 可以定位各种宽度 高度和深度的立方体 并且正在努力根据 xAxis yAxis 和 zAxis 也有所不同 将它们准确地排列起来 var geometry new THREE BoxGeometry width height
  • “该网站似乎使用了滚动链接定位效果。这可能不适用于异步平移”

    我从 Firefox 收到了这个不寻常的警告 它所指的定位效果是div我将旋转作为滚动高度的一个因素 我从来没有遇到过任何问题 但是这是我应该担心的事情吗 如果没有这个警告 是否有这样的效果 演示此问题的 JavaScript 是 gear
  • 停止所有 JavaScript 执行

    是否有一个相当于 php die 函数的 javascript 可以停止所有 javascript 包括将来的 ajax 请求回调 超时等 运行 注意 我无法在调试器中使用断点 因为 bug 存在于 ie8 中 并且调试器会阻止您在断点处向
  • 来自函数参数的动态 Typescript 对象属性

    我有一个函数 它接受一个n参数的数量 并生成一个新对象 其中包含参数到唯一哈希的键值映射 Typescript 有没有办法从函数的参数动态推断返回对象的键 Example 生成字典的CreateActionType函数 function c
  • 使用带有代码分割的汇总时,有什么方法可以保留包的目录结构吗?

    Context 给定这样的项目结构 src a module js b module js util js 两者都在哪里module js文件导入util js 使用以下配置 export default experimentalCodeS
  • HTML 表格换行列

    我有一个表 用户将数据输入到列中 每次用户输入数据时都会创建一个新列 一段时间后 他们有大量的专栏 我需要它们换行 我知道如何将文本换行在列内 但我需要将整个列换行在第一列下方 依此类推 您不应该为此使用表格 您应该使用具有 float l
  • Javascript 设置输入字段的值

    因为虽然我无法设置 type text 的输入字段的值 以前 我总是使用这样的东西
  • [GSI_LOGGER]:“callback”的值不是函数。配置被忽略

    I m 迁徙 https developers google com identity gsi web guides migration from 谷歌登录平台 https developers google com identity si
  • window.print() 仅打印屏幕的“可视”部分

    我有一个可滚动屏幕 上面有一个打印按钮 并且在其 onclick 事件上调用 window print 函数 我的问题是它只打印屏幕的 可见 部分 而不是整个屏幕 如果页面可滚动 则当内容无法容纳在 1 页中时 打印应扩展到 2 或更多 页
  • Twitter-Typeahead 不提供建议

    我正在尝试使用twitter typeahead rails 我的目的是当我在 Typeahead 输入框中键入内容时 通过下拉框建议模型 User 的实例 但是 当我打字时什么也没有发生 有人看到我的代码有什么问题吗 Gemfile ge
  • 如何在 div 中加载页面?

    我被告知使用 Div 代替 iframe 是前进的方向 所以我使用横幅和主体中的框架 如何将我的index html加载到我的div中 你尝试过 jquery 的 load 吗 通过服务器端技术 您可以轻松地做到这一点
  • 将美元金额动态转换为文本以包含“美元”和“美分”一词

    我需要将输入字段中输入的美元金额动态转换为文本 我能找到的最接近的解决方案几乎可以满足我的需求 但是 我希望结果文本包含 美元 一词 并删除句子末尾带有 美分 的 点 一词 这是起始原型和当前结果 function amountToWord
  • 玩笑测试因 refs 和 Form 失败

    我有一个搜索栏组件 如下所示 render const onChangeTextInput this props return
  • 使用 javascript 检测 CSP 违规

    是否可以使用 JavaScript 检测内容安全策略违规 我的 CSP 工作并发送其报告 我看到一些 url 被注入 可能是通过浏览器插件注入的 我想向用户显示一个提示 即某些插件尝试修改页面 我能否以某种方式检测与 javascript
  • 为什么 JavaScript 原型属性在新对象上未定义?

    我对 JavaScript 原型概念还很陌生 考虑以下代码 var x function func x prototype log function console log 1 var b new x 据我了解 b log 应该返回 1 因
  • javascript 中的独立括号[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 为什么使用匿名函数包装器 https stackoverflow com questions 1643321 javascript why the anonymous funct
  • 创建一个跨浏览器 mixin 进行转换:旋转

    我想为 sass 创建一个 mixin 它将对指定元素应用旋转 mixin 应采用一个参数 表示要应用的旋转度数 从 css3please com 我找到了一种使用 CSS 实现此功能的跨浏览器方法 box rotate moz trans
  • 无限滚动 jQuery 和 Laravel 5 分页

    我成功从控制器返回数据 public function index posts Post with status verified gt paginate 30 return view show gt with compact posts

随机推荐