程序化组件上的 Vue 反应式 props

2024-01-08

给定一个组件:

Vue.component('my-comp', {
  props: ['input'],
  watch: { input: function(){...} },
});

以下的编程方法是什么?

<my-comp :input="map[key]"></my-comp> map[key] change triggers watch

我努力了:

new (Vue.component('my-comp'))({
  propsData: { input:map[key] }, // map[key] change doesn't trigger watch
});

其上下文是将零到多个组件插入到 markdown 生成的 HTML 中。我打电话.$mount()对于每个组件,并使用本机 DOM 移动其节点replaceChild()重新渲染 Markdown 时调用。也可以看看用户定义的 Markdown 中的 Vue 组件 https://stackoverflow.com/questions/49139819/vue-components-in-user-defined-markdown


如果 prop 输入是原始值,我们必须使用以下命令来操作组件child.$props.input = x正如 Roy J 所建议的,但在这种情况下我们需要input = map[key]。因此这个解决方案:

Vue.component('my-comp', {
  props: ['map','key'],
  computed: { input: function() { return this.map[this.key] } },
  watch: { input: function(a, b) {...} }, // triggered on map[key] change
});

new (Vue.component('my-comp'))({
  propsData: { map:theMap, key:theKey }, // theMap must be reactive
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

程序化组件上的 Vue 反应式 props 的相关文章

随机推荐

  • 在 System.Windows.Form 派生类中的何处处置资源?

    我有一个表单 它在其构造函数中创建了一些我需要处理的一次性资源 但是 C 表单设计器已在 Designer cs 文件中生成 Dispose 方法 该方法中似乎没有任何类型的用户挂钩 所以我不知道应该如何实现典型的IDisposable图案
  • 获取丰富编辑库的版本

    ALL 是否可以获得程序使用的 RichEdit 控件的版本 Version Class name Library Shipped with New features 1 0 RICHEDIT Riched32 dll Windows 95
  • 鲁比:析构函数?

    我偶尔需要在缓存目录中使用 rmagick 创建图像 为了快速删除它们 而又不会在视图中丢失它们 我想在图像类的 Ruby 实例被破坏或进入垃圾收集时删除图像文件 我必须重写什么 ClassMethod 才能为析构函数提供代码 edgeru
  • 根据pandas数据框中的关键列减去列

    我有两个数据框看起来像 df1 ID A B C D 0 ID1 0 5 2 1 3 5 6 6 1 ID2 1 2 5 5 4 3 2 2 2 ID1 0 7 1 2 5 6 6 0 3 ID3 1 1 7 2 10 3 2 df2 ID
  • 获取 JSON 数组中的最大值

    我正在尝试创建一个 JavaScript 函数 该函数从外部 JSON 中的数组获取信息 然后获取其中一个 JSON 变量的最大值 或前 5 个值 对于此示例 假设我想要获取值 ppg 的最大值 这是该数组的一个小样本 player And
  • 我可以将 Activex 与 silverlight4 一起使用吗?

    我需要在我的 silverlight 应用程序中使用 ActiveX 控件 经过一些研究 我发现了 silverlight 应用程序可以使用 ActiveX 控件的几种方法 在网页中使用 ActiveX 控件以及 silverlight 插
  • 使用 ScheduledExecutorService 启动和停止计时器

    从我的阅读来看 ScheduledExecutorService 似乎是在 Java 中启动和停止计时器的正确方法 我需要移植一些启动和停止计时器的代码 这不是一个周期性定时器 此代码在启动计时器之前停止计时器 因此 实际上每次启动都是一次
  • 如何使用swift在iOS嵌入式动态框架中使用第三方库

    现在我有一个项目 比如 testApp 使用一些第三方库 比如 alamofire 和 Objective C 中的其他一些库 现在我想添加一个今天的小部件 根据一些教程 我创建了一个新的目标 testAppKit 作为共享动态框架 并将目
  • Java:System.out.println() 这么慢的原因是什么?

    对于可以在文本编辑器中完成的小型逻辑程序 为了跟踪 我使用经典的System out println 我想你们都知道在大量迭代的块中使用它是多么令人沮丧 为什么这么慢 其背后的原因是什么 这与 JVM 没有任何关系 将文本打印到屏幕上只涉及
  • FileProvider - 使用默认内部存储文件夹,文件路径不明确

    它在文档中说 FileProvider 只能为以下位置的文件生成内容 URI 您事先指定的目录 要指定目录 使用 XML 的子元素指定其存储区域和路径 元素 例如 以下 paths 元素告诉 您打算请求图像 的内容 URI 的 FilePr
  • 如何在AngularJS中获取图像尺寸?

    我想在用户选择要上传的文件时检查图像的尺寸
  • 反转角度 2 *ngFor

    li user name is user age years old li 是否可以反转 ngFor 使项目自下而上添加 你可以简单地使用 JavaScript reverse 在阵列上 不需要特定角度的解决方案 li user name
  • 首先在 EF 代码中将文字或常量作为复合键的一部分

    我对实体框架的代码优先方法相对较新 我已经使用数据库优先方法有一段时间了 但是代码优先似乎更适合我当前正在开发的应用程序 我正在使用现有的 MS SQL 数据库 并且不允许我对数据库进行任何更改 我使用 Code First 的原因是 Fl
  • 在 Windows 8 中使用 C# 的 WinRT 中的磁盘空间

    我有两个解决方案 但都对我没有用 解决方案1 kernel32 dll 其工作代码 注意 但我不想在我的应用程序中导入任何 dll b c 其市场提交问题 DllImport kernel32 dll SetLastError true s
  • django 本地时间模板过滤器不起作用

    我使用 django 1 10 来显示日期时间 日期时间存储在 mongodb 中 并且始终是没有时区信息的 UTC 因此我需要根据运行 django 的机器的时区显示日期时间 首先 在settings py中添加它们 TIME ZONE
  • 编译错误:“版本高于引用的程序集”

    我的视图页面出现错误 因此我将 Visual Studio 更新为 mvc4 尽管我正在使用 mvc3 我第一次使用 NuGet 更新 但它不起作用 所以我通过独立 MVC4 更新 所以它起作用了 但是当我尝试运行 MVC3 项目时 出现以
  • 使用 Metal 的旧设备上的内存使用量持续上升

    I use Metal and CADisplayLink活过滤CIImage并将其渲染成MTKView Starting display link displayLink CADisplayLink target self selecto
  • 如何更改 base64 格式的 svg img 的颜色?

    我有一个 Svg img 其中包含base64格式并尝试更改其颜色 有人知道如何执行此操作吗 我发现了一些关于
  • 是否可以将列表类型转换为生成器而不进行迭代?

    我知道可以将生成器转换为 低级 列表 例如list i for i in xrange 10 但是是否可以做相反的事情without首先迭代列表 例如 i for i in range 10 Edit 删除了这个词cast为了清楚地说明我想
  • 程序化组件上的 Vue 反应式 props

    给定一个组件 Vue component my comp props input watch input function 以下的编程方法是什么