如何在全局 vue 组件中调用方法?

     2023-02-23     156

关键词:

【中文标题】如何在全局 vue 组件中调用方法?【英文标题】:How can I call method in global vue component? 【发布时间】:2017-12-19 00:37:39 【问题描述】:

我有根 vue 组件 app.js:

...
const app = new Vue(
    el: '#app',
    ...
    methods: 
        modalShow: function(target, id=null, message=null)
           ...
        ,
        ...
    
);

我有一个这样的子组件:

<template>
    <div>
        <ul>
            <li> 
                <a href="#" class="thumbnail"
                   title="Add photo" 
                   @click="modalShow('modal-add-photo', product.id)"
                > 
                    <span class="fa fa-plus fa-2x"></span> 
                </a> 
            </li>
        </ul>
    </div>
</template>

<script>

    export default 
        ...
        methods: 
            ...
        
    
</script>

modalShow 方法位于根目录中。我怎么能从孩子那里调用它?

如果现在执行上面的代码,我会得到以下错误:

[Vue 警告]:属性或方法“modalShow”未在 实例,但在渲染期间引用。确保声明反应式 数据选项中的数据属性。

【问题讨论】:

你的意思是根Vue吗?您的组件是根的直接子级吗? @Bert Evans,是的,我就是这个意思 【参考方案1】:

modalShow 方法传递给子组件。

<child :modal-show="modalShow"></child>

export default 
  props:["modalShow"]

那么就可以在child中使用方法了。

【讨论】:

@TrendingNews 你不需要标记我。如果这是一个用 Vue 标记的问题,我会看到它:) 好的。对不起,我不会再标记你了

如何在插件中调用组件的方法

】如何在插件中调用组件的方法【英文标题】:Howtocallamethodofcomponentinplugin【发布时间】:2020-09-2115:12:50【问题描述】:我做了一个叫对话框的组件,我想把它做成插件并注册为一个全局函数。但是,我不知道如何从插件访问组... 查看详情

如何将全局变量调用到 vue 组件中?

】如何将全局变量调用到vue组件中?【英文标题】:howtocallglobalvariableintovuecomponent?【发布时间】:2018-09-0315:23:18【问题描述】:我的母版页中有此代码。如何在我的vue模板中调用这个变量。我认为我调用变量的方式是错误的,... 查看详情

在故事书中渲染后如何调用vue组件上的方法?

】在故事书中渲染后如何调用vue组件上的方法?【英文标题】:Howtocallamethodonvuecomponentafteritrenderedinstorybook?【发布时间】:2020-07-1717:13:40【问题描述】:我的问题是在组件在故事书中呈现后调用方法。它是关于显示一个模态的,... 查看详情

如何在 vue.js 2 的其他组件中调用方法?

】如何在vue.js2的其他组件中调用方法?【英文标题】:HowcanIcallmethodinothercomponentonvue.js2?【发布时间】:2017-12-1905:15:26【问题描述】:我的第一个组件是这样的:<template>...</template><script>exportdefault...methods:addPhoto()cons... 查看详情

如何在 Storybook 中注册全局 Vue 组件?

】如何在Storybook中注册全局Vue组件?【英文标题】:HowtoregisterglobalVuecomponentsinStorybook?【发布时间】:2021-04-2817:34:33【问题描述】:有没有办法在Storybook中注册全局Vue组件,使其与Vue-CLI中全局注册的Vue组件兼容?【问题讨论】:... 查看详情

定义了一个vue全局方法,不能再vuex中进行调用(代码片段)

你把函数定义在Vue的原型链上,只能在Vue的实例里才能取到这个方法。vue组件是一个Vue的实例,所以你当然能在这里调用到ajax方法。而,vuex只是一个vue插件,在vuex里的this不是指向vue实例的,所以肯定是取不到ajax方法的。建议... 查看详情

Vue Test Utils / Jest - 如何测试是不是在组件方法中调用了类方法

】VueTestUtils/Jest-如何测试是不是在组件方法中调用了类方法【英文标题】:VueTestUtils/Jest-HowtotestifclassmethodwascalledwithinacomponentmethodVueTestUtils/Jest-如何测试是否在组件方法中调用了类方法【发布时间】:2019-01-2500:42:50【问题描述】... 查看详情

vue父子组件间通信(数据传递)

参考技术A父---props--->子子---props/自定义事件/全局事件总线/消息订阅与发布--->父任意组件间通信:/自定义事件/全局事件总线/消息订阅与发布/Vuex/路由传参父组件传递:在使用子组件时,使用v-bind:自定义接收名称="要传递... 查看详情

注册全局组件和局部组件

...了局部组件,使用的时候需要在components中注册,而我们全局通用组件一般是需要定义为全局组件的,不需要局部注册①创建一个PageTools文件夹并同时创建一个index.vue组件文件②直接在main.js中导入index.vue组件,给定组件名称以及... 查看详情

vue组件之间的通信以及如何在父组件中调用子组件的方法和属性

在Vue中组件实例之间的作用域是孤立的,以为不能直接在子组件上引用父组件的数据,同时父组件也不能直接使用子组件的数据一、父组件利用props往子组件传输数据父组件:<div><childv-bind:my-message="parentMsg"></child>//... 查看详情

父组件Vue中如何调用子组件的方法

】父组件Vue中如何调用子组件的方法【英文标题】:Howtocalltosubcomponent’smethodinparentcomponentVue【发布时间】:2021-09-2422:31:06【问题描述】:我想在vue中从父组件运行子组件的方法来刷新该组件的某些区域。这是我想要的示例。Home... 查看详情

vue中调用其他组件的方法

...rcomponentinvue【发布时间】:2017-11-2119:37:55【问题描述】:如何在Vue中调用其他组件的方法?我有组件HeaderSearch<template><formaction=""><divclass="form-group"><divclass="input-group"><spanc 查看详情

【vue】插件

参考技术A插件通常用来为Vue添加全局功能,所谓全局即不需要像组件那样,每次使用他前都需要先引入一次。对于插件只要在最开始引入一次,在任何组件就可以直接使用。(类似于我们在window上添加的方法属性那样,任何地... 查看详情

vue路由守卫详解

...取消的方式守卫导航。有多种机会植入路由导航过程中:全局的,单个路由独享的,或者组件级的。记住参数或查询的改变并不会触发进入/离开的导航守卫。你可以通过观察$route对象来应对这些变化,或使用beforeRouteUpdate的组件内... 查看详情

javascript如何在vue中全局注册组件?(代码片段)

查看详情

Vue,如何从组件调用数据

】Vue,如何从组件调用数据【英文标题】:Vue,howtoinvoketodatafromcomponent【发布时间】:2017-12-2712:49:28【问题描述】:我正在尝试从我的Vue数据中删除一行:todos,但我的方法在组件中。第二个问题是我无法修复,如果我的输入被检... 查看详情

如何在 Vue 组件中测试对 Vuex Mutation 的调用?

】如何在Vue组件中测试对VuexMutation的调用?【英文标题】:HowdoItestthecallonaVuexMutationinaVuecomponent?【发布时间】:2021-09-2115:12:53【问题描述】:假设你有一个vue组件,其方法如下:methods:doSomething(someParameter)//maybedosomethingwiththatParame... 查看详情

如何在 vue 组件中重用全局 javascript 文件

】如何在vue组件中重用全局javascript文件【英文标题】:Howtoreuseaglobaljavascriptfilewithinavuecomponent【发布时间】:2017-05-2411:21:31【问题描述】:我有一个从lang.min.js创建的Lang对象:https://github.com/rmariuzzo/Lang.js在我的Laravel应用程序中... 查看详情