javascript - Vue.js 将变量从一个组件传递到另一个组件(jQuery)
问题描述
我有一个名为的组件ShowComment
和一个名为EditComment
.
里面有ShowComment
一个变量this.CommentRecID
。我想在组件中使用这个变量EditComment
。
问题是 aconsole.log(this.CommentRecID);
表明该变量未定义 in EditComment
,但已定义 in ShowComment
,但我不知道为什么它未定义:
我用它来“使用” this.CommentRecID
in EditComment
,但我不知道这是否是正确的方法,因为它与 jquery 相关:
import * as $ from "jquery";
import DatePicker from "vue2-datepicker";
export default {
props: ["CommentRecID"],
components: { DatePicker },
这是完整的ShowComment
组件:https ://pastebin.com/fcy4PCq0
这是完整的Editcomment
组件:https ://pastebin.com/uik7EwD1
我对 Vue.js 还很陌生。有人知道如何解决这个问题吗?
解决方案
你不应该同时使用 jQuery
和Vue.js
。
您应该尝试使用道具将数据从父母发送到孩子。
你可以在你的东西中添加EditComment
一个元素,如下所示:ShowComment
<EditComment CommentRecID="this.CommentRecID" v-if="showEdit" />
并从方法中切换showEdit
标志editItem
editItem() {
this.showEdit = true
}
如果你想显示一个模式,那么你的EditComment
组件可能在树上,所以你可以使用EventBus或使用Vuex
.
看起来您已经Vuex
在项目中使用了,所以添加一个存储 的突变CommentRecID
并以类似的方式使用它来显示对话框。
推荐阅读
- javascript - Javascript - 读取所有文件名并输出到带有超链接的 html
- python - 比较 2 个数据帧,遍历列,计算匹配索引的相似度
- java - 如何选择已经创建的随机真布尔变量?
- c++ - 如何避免在 C++17 中使用 lambda 捕获?
- scala - 如何检查一行的多列值是否不为空,然后在 Spark Scala 中添加一个真/假结果列
- azure-service-fabric - 我们如何在 Service Fabric Actor Reliable 服务中添加 Application Insight
- c# - 事务不锁定整个表ef core c#
- html - 使用'flex'将'Form'中的按钮定位在不同的div下
- javascript - 使用 z-index 属性在单个拖放元素中堆叠多个文本元素
- sql - 如何用雪花中的空格替换包含字母和特殊字符的行