如何更新vue组件中的props

2024-04-21

我想在 Vue 中创建自己的复选框。我想使用 fontawesome 的两个图标(锁定和解锁)。当我的复选框被选中时,图标应该被锁定,否则解锁。

这是我的代码:

<template>
   <div>
      <i @click="statusChanged()" v-if="!checked" class="fas fa-lock-open lock"></i>
      <i @click="statusChanged()" v-if="checked" class="fas fa-lock lock"></i>
   </div>
</template>
<script lang="ts">
import Vue from 'vue';
import { Prop } from 'vue/types/options';
export default Vue.extend({
    props: {
        checked: {
        type: Boolean as Prop<boolean>,
    },
},
methods: {
    statusChanged() {
        this.checked = !this.checked;
    },
},
});

我收到一个错误:

无法分配给“checked”,因为它是常量或只读属性

你能帮忙解决这个问题吗?


看看prop.sync修饰符。它正是针对这种情况而设计的,您想要更新父级值但将其作为属性传递给子级:
https://v2.vuejs.org/v2/guide/components-custom-events.html#sync-Modifier https://v2.vuejs.org/v2/guide/components-custom-events.html#sync-Modifier

基本上你将道具标记为sync'able:
<Checkbox :checked.sync="foo"></Checkbox>

为了更新父级,你发出一个update:prop来自孩子的事件:
this.$emit('update:checked', !this.checked)

这应该可以帮助您开始寻找解决方案:
https://codesandbox.io/s/97rl86n64 https://codesandbox.io/s/97rl86n64

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

如何更新vue组件中的props 的相关文章

随机推荐

  • 数据库关系 1:1 vs 1:0..1

    我正在努力了解这些关系 正如我下面所示 它是否正确 1 我会有一个1 0 1通过简单地使父级的身份密钥也是子级的身份密钥来建立关系 2 为了做到这一点1 1 我在父表中添加一个FK 连接两个Identity列 这就是全部内容了吗 如果我的措
  • 在 Numpy 中预处理 Tensorflow 张量

    我在 Tensorflow 中设置了一个 CNN 用 TFRecordReader 读取数据 它工作得很好 但我想做一些比提供的更多的预处理和数据增强tf image功能 我特别想做一些随机缩放 是否可以在 Numpy 中处理 Tensor
  • 无法定义静态抽象字符串属性

    我遇到了一个有趣的问题 正在寻找一些关于如何最好地处理这个问题的建议 我有一个抽象类 其中包含一个静态方法 该方法接受我想定义为抽象属性的静态字符串 问题是 C 不支持以下内容 请参阅配置部分名称 and Current特性 public
  • 如何使用WebView中的id填充HTML输入中的值

    我的里面有 HTML 页面WebView有输入 输入有id 姓名 如何用一些字符串填充活动的输入 您可以尝试以下操作 mWebView loadUrl javascript document forms myform id value ne
  • 神经网络中“特征”的定义是什么?

    我是神经网络的初学者 我对这个词很困惑feature 你能给我一个定义吗feature 这些特征是隐藏层中的神经元吗 这些特征是输入向量的元素 特征的数量等于网络输入层的节点数量 如果您使用神经网络根据物理属性的测量将动物分类为猫或狗 那么
  • 构建失败 - TFS2008 上的 VS2010 解决方案

    我已将 VS2008 ASP NET MVC 解决方案迁移到 VS2010 MVC2 NET 4 0 该解决方案在本地构建 并且所有单元测试都通过 我们的 TFS 服务器仍然是 TFS2008 我在通过 CI 构建时遇到问题 项目全部构建成
  • 如何检测何时使用history.pushState和history.replaceState? [复制]

    这个问题在这里已经有答案了 当历史状态修改时 我可以订阅一些事件吗 如何 我曾经用它来通知何时pushState and replaceState叫做 Add this var wr function type var orig histo
  • 我可以删除[]一个指向已分配数组但不指向其开头的指针吗?

    我特别想知道以下情况 我在一些我必须使用的代码中发现的 SomeClass ar new SomeClass 2 ar delete ar 这段代码似乎工作正常 即没有崩溃 win32 用 VS2005 构建 这 合法 吗 感觉肯定不对 不
  • Windows 窗体应用程序的退出代码

    如何从 Windows 窗体应用程序返回非零退出代码 Application Exit 是退出应用程序的首选方法 但没有退出代码参数 我知道Environment Exit 但这不是关闭应用程序循环的好方法 Application Exit
  • 如果 Spring 应用程序无法连接到其配置服务器,则会快速失败

    假设您有一个 Spring 应用程序 它从配置服务器获取其配置 如果无法连接到配置服务器 应用程序将继续启动 但由于所有配置都丢失 它最终将失败并出现潜在的误导性错误 是否可以配置 Spring 使其在启动期间无法连接到其配置服务器时立即中
  • 将用户输入的字符串转换为正则表达式

    我正在用 HTML 和 JavaScript 设计一个正则表达式测试器 用户将输入正则表达式 字符串 并通过单选按钮选择他们想要测试的函数 例如搜索 匹配 替换等 程序将在使用指定参数运行该函数时显示结果 当然 会有额外的文本框用于替换额外
  • 为什么我的 UITableView 从 UITableViewStyleGrouped 更改为 UITableViewStylePlain

    我的应用程序有一个扩展的视图控制器UITableViewController 初始化方法如下所示 id initWithCoder NSCoder coder if self super initWithCoder coder self t
  • MySQL 用通配符替换

    我正在尝试编写 SQL 更新以用新字符串替换特定的 xml 节点 UPDATE table SET Configuration REPLACE Configuration
  • 如果 editable false,fullCalendar eventClick 处理程序将不起作用

    jQuery fullCalendar 插件似乎有问题可编辑模式 http arshaw com fullcalendar docs event ui editable 在某些情况下 如果事件点击处理程序 http arshaw com f
  • 从 android 中的 firebase 发送通知时没有通知声音

    我正在从 firebase 向我的 Android 应用程序发送推送通知 但是当我的应用程序处于后台时 不会调用 firebase onMessageReceived 方法 而是 firebase 向系统发送通知以在系统托盘中显示通知 通知
  • 无法通过 exec() 语句更改函数中的全局变量?

    为什么我不能使用 exec 从函数内部更改全局变量 当赋值语句位于 exec 之外时 它可以正常工作 这是我的问题的一个例子 gt gt gt myvar test gt gt gt def myfunc global myvar exec
  • 范围和插入符位置不匹配

    我在 MS Edge 中注意到这个问题 插入符号位置和范围在可编辑内容内不匹配或错误 c click function e var sel window getSelection var range sel getRangeAt 0 res
  • 如果不满足某些条件,如何跳过ansible剧本中的所有其他剧本?

    我在下面的剧本中有多个剧本 如果不满足某些条件 我想忽略所有其他戏剧 因此 对于下面的示例 如果我在中找不到任何新文件Play1然后我不想执行Play2 and Play3根本没有 它应该跳过它 我怎样才能做到这一点 I have end
  • 代码高尔夫!有没有一种简单的方法可以在Python中将字母转换为数字?

    你知道 比如 A 1 B 2 等 我可以列出一长串 if then 但也许已经有一个模块了 如果它像 Excel 坐标 中那样工作 其中 A 27 并继续 那就更好了 这算不算 26 进制数 def foo c return ord c 6
  • 如何更新vue组件中的props

    我想在 Vue 中创建自己的复选框 我想使用 fontawesome 的两个图标 锁定和解锁 当我的复选框被选中时 图标应该被锁定 否则解锁 这是我的代码