热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

为什么我的手表方法在Vue中不起作用

我在一个js文件中有两个组件,文件以constEventBusnewVue();

我在一个js文件中有两个组件,文件以const EventBus = new Vue();开头

我想从第一个组件到第二个组件发送两个字符串'username'和'password',但是我做不到。我哪里错了?

第一:

Vue.component('log-reg-modal',{
data: () => ({
username: "",password: "",}),watch: {
username: function(){
EventBus.$emit('changed_username',this.username);
},password: function(){
EventBus.$emit('changed_password',this.password);
},}
});

第二:

new Vue({
el: '#app',vuetify: new Vuetify(),data: () => ({
username: "",methods: {
register : function (event) {
EventBus.$on('changed_username',this.username);
EventBus.$on('changed_password',this.password);
}
}
});


您将需要在EventBus.$on生命周期方法中使用created来“注册”接收事件。

您还可以跳过EventBus,而只使用“内置”事件处理程序。

使用事件总线:


const EventBus = new Vue();
const LogRegModal = {
template: `



`,data: () => ({ username: "",password: "" }),watch: {
username: function() { EventBus.$emit("changed_username",this.username) },password: function() { EventBus.$emit("changed_password",this.password) },}
};
new Vue({
el: "#app",components: { LogRegModal },created() {
EventBus.$on("changed_username",val => this.username = val);
EventBus.$on("changed_password",val => this.password = val);
}
});




These values were received from the EventBus:



  • Username: {{username}}

  • Password: {{password}}




使用“内置” this.$emit(...,...)


const LogRegModal = {
template: `



`,watch: {
username: function() { this.$emit("changed_username",password: function() { this.$emit("changed_password",methods: {
handleUsernameChange(val) { this.username = val },handlePasswordChange(val) { this.password = val }
},});

code {
color: red;
}
p {
margin-bottom: 2px;
}
.second-p {
margin-top: 0px;
}






@changed_username="handleUsernameChange"
@changed_password="handlePasswordChange"
>


These values were received via this.$emit as 'props' on our component using v-on:event_name


(using @event_name is shorthand for v-on:event_name):



  • Username: {{username}}

  • Password: {{password}}





,

  1. EventBus。$ on中指示的处理程序应该是函数,而不是自我支持。

  2. 在开始使用 log-reg-modal 组件之前,您是否调用过 register 方法?


,

EventBus.$on方法应根据Vue生命周期放在created()函数中

created (){
EventBus.$on('changed_username',(data) => {
this.username = data;
});
EventBus.$on('changed_password',(data) => {
this.password = data;
});
}

推荐阅读
  • Vue基础一、什么是Vue1.1概念Vue(读音vjuː,类似于view)是一套用于构建用户界面的渐进式JavaScript框架,与其它大型框架不 ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • 【Vue基础】监听属性watch
    Vue监听属性是watch,我们可以通过watch来响应数据的变化。代码示例: ... [详细]
  • 本文涉及源码版本为2.6.9准备工作down一份Vue源码,从package.json入手,找我们需要的代码1、package.json中的scripts,build:nodesc ... [详细]
  • #ReactivityFundamentals#DeclaringReactiveState ... [详细]
  • Vue的组件化
    文章目录Vue的组件化一、认识组件化1.什么是组件化2.组件化思想二、注册组件1.组件的使用步骤三、组件其他补充1.全局组件和局部组件2.父组件和子组件3.组件的语法糖写法4.组件 ... [详细]
  • vue.js2.0点击获取自己的属性和jquery
    <!DOCTYPEhtml><html><head><metacharsetUTF-8><title>< ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • VueCLI多页分目录打包的步骤记录
    本文介绍了使用VueCLI进行多页分目录打包的步骤,包括页面目录结构、安装依赖、获取Vue CLI需要的多页对象等内容。同时还提供了自定义不同模块页面标题的方法。 ... [详细]
  • 单页面应用 VS 多页面应用的区别和适用场景
    本文主要介绍了单页面应用(SPA)和多页面应用(MPA)的区别和适用场景。单页面应用只有一个主页面,所有内容都包含在主页面中,页面切换快但需要做相关的调优;多页面应用有多个独立的页面,每个页面都要加载相关资源,页面切换慢但适用于对SEO要求较高的应用。文章还提到了两者在资源加载、过渡动画、路由模式和数据传递方面的差异。 ... [详细]
  • 本文介绍了自学Vue的第01天的内容,包括学习目标、学习资料的收集和学习方法的选择。作者解释了为什么要学习Vue以及选择Vue的原因,包括完善的中文文档、较低的学习曲线、使用人数众多等。作者还列举了自己选择的学习资料,包括全新vue2.5核心技术全方位讲解+实战精讲教程、全新vue2.5项目实战全家桶单页面仿京东电商等。最后,作者提出了学习方法,包括简单的入门课程和实战课程。 ... [详细]
  • document .ready中的函数怎么被按钮调用? ... [详细]
  • 第一种&amp;amp;lt;script&amp;amp;gt;$(&amp;quot;.eq&amp;quot;).on(&amp;qu ... [详细]
  • AngularJS 提交表单的方式(一)
    英文原文:SubmittingAJAXForms:TheAngularJSWay在AngularJS出现之前,很多开发者就面对了表单提交这一问题。由于提 ... [详细]
author-avatar
李妙妙_minioniu_173
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有