我有父母和孩子的组件...我需要运行子方法,当我点击按钮在父。示例代码:
父母亲
<template>
<child-component></child-component>
<button>Open Modal in child Component (set modal = true in child component)</button>
</template>
孩子:
<template>
<div v-if="modal">
<button @click="modal = false">Close</button>
</div>
</template>
<script>
export default {
data() {
return {
modal: false
}
}
}
</script>
在vue中,你可以传递一个函数作为道具。因此,您可以在父组件中向备用模型添加一个函数,然后将其传递给您的子组件,以便可以正常使用。下面我举一个简单的例子。
通过小编辑,您可以使用绑定到模态状态的状态绑定一个类,如隐藏/显示类
// Html
<div id="app">
<child v-bind:on-click="toggleModal" v-bind:status="modal" />
</div>
// Parent Component
var sample = new Vue({
el: '#app',
data: {
modal: false
},
methods: {
toggleModal() {
this.modal = !this.modal
}
}
});
// Child component with function prop
Vue.component('child', {
props: {
onClick: Function,
status: Boolean
}
template: '<button v-on:click="onClick()">Press Me</div>'
});
您可以通过不同的实现来实现这一点。最常见的方法是通过emit
(如果您使用的是Redux模式,另一种方法是通过分派操作)
首先,您希望捕获父组件上的偶数并发出事件。所以这应该是你的模板。
<template>
<child-component></child-component>
<button @click="click">Open Modal in child Component (set modal = true in child component)</button>
</template>
然后,您必须在单击时调用的函数上发出一个事件(来自父组件)。类似的东西:
click: function() {
this.$emit('update');
}
最后,您的子组件需要“听到”那个事件。您可以通过在子组件的创建的
函数上这样做来实现:
this.$parent.$on('update', this.updateModal);
this.updateModel
是子组件上的一个函数,它只翻转布尔值。
问题内容: 我开始玩vuejs(2.0)。我构建了一个包含一个组件的简单页面。该页面具有一个带有数据的Vue实例。在该页面上,我注册了该组件并将其添加到html中。该组件有一个。我希望该值反映在父对象(主Vue实例)上。 如何正确更新组件的父数据?从父级传递绑定的道具不好,并且会向控制台发出一些警告。他们的文档中有内容,但是没有用。 问题答案: Vue 2.0中不赞成使用双向绑定,而是使用事件驱动
我在用vue-cli支架做网页包 我的Vue组件结构/传家宝目前看起来如下: 应用程序 在应用程序级别,我需要一个vuejs组件方法,该方法可以将子组件的所有数据聚合到一个JSON对象中,然后发送到服务器。 有没有办法访问子组件的数据?具体来说,多层深? 如果没有,传递oberservable数据/参数的最佳实践是什么,这样当子组件修改它时,我就可以访问新的值?我试图避免组件之间的硬依赖关系,所以
如何从父组件中访问子组件数据?我有一个父组件“MissionPlanner ”,我想访问名为“ChosenHeroes”的子组件“chosenHeroes”数组。如果数组中有元素,我想最终呈现一个div并能够更新父数组中的数组 我不确定我是否应该使用emit()以及如何确切地使用它。我尝试制作一个自定义事件“addHero”并将其传回。但是我遇到了错误 ChosenHeroes.vue HeroP
我正在使用Vuejs 2(网页包简单模板),我想知道如何在呈现模板之前编译模板。下面是我的代码: App.vue main.js 这就是我启动服务器时遇到的错误: 我还尝试了这个插件vue模板编译器,但没有成功。你能帮我把它弄好吗?提前谢谢。
本文向大家介绍vuejs父子组件通信的问题,包括了vuejs父子组件通信的问题的使用技巧和注意事项,需要的朋友参考一下 父子组件之间可以通过props进行通信: 组件的定义: 1.创建component类: 2.注册一个tagnme: 局部注册: 模板注意事项: 因为 Vue 就是原生的DOM,所以有些自定义标签可能不符合DOM标准,比如想在 table 中自定义一个 tr,如果直接插入 my
我有一个要导入页面的组件: 在页面上,我呈现组件