我制作了一个VueJS组件,可以运行一些
我有一个函数在compoent的
计算
显示用户的选择值在屏幕上。
如何将此值传递回父VueJS thingy?
它似乎与
$emit
有关,但我没有看到我有一个事件。
我已经按照这里的建议提出了一个,但现在还没有。
在组件中:
computed: {
selectedCode: function () {
var selected = '(No code selected.)';
if (this.category) { selected = this.category; }
if (this.code) { selected = this.code; }
this.$emit('selectedCode', selected);
return selected;
},
在父Vue应用程序中:
<code-selector v-bind:code="code" v-on:selectedCode="codeSelect"></sic-selector>
和
methods:
{
selectedCode: function (z) {
console.log(z);
},
这里的问题主要是因为发出一个camelCased事件名。因此,如文件中所述:
如果发出camelCmed事件名称:
this.$emit('myEvent')
听烤肉串的版本不会有任何影响:
<!-- Won't work -->
<my-component v-on:my-event="doSomething"></my-component>
与组件和道具不同,事件名称永远不会在JavaScript中用作变量或属性名称,因此没有理由使用camelCase或PascalCase。此外,DOM模板中的v-on
事件侦听器将自动转换为小写(由于HTML的大小写不敏感),因此v-on: myEvents
将成为v-on: myevent
-使得myEvents
无法监听。
出于这些原因,我们建议您始终使用kebab case作为事件名称。
因此,只需发出一个烤肉串案例事件名称,如:
this.$emit('selected-code', selected);
然后你可以很容易地听它,就像:
<code-selector v-on:selected-code="codeSelect"></code-selector>
这里是一个工作演示:
Vue.component('button-counter', {
data: function () {
return {
count: 0
}
},
template: '<button v-on:click="count++">You clicked me {{ getCount }} times.</button>',
computed: {
getCount: function () {
this.$emit('selected-code', this.count);
return this.count;
}
}
})
new Vue({
el: "#myApp",
data: {},
methods: {
codeSelect(z) {
console.clear()
console.log(z);
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.min.js"></script>
<div id="myApp">
<button-counter v-on:selected-code="codeSelect"></button-counter>
</div>
问题内容: 我有两个组成部分: 第一个是父组件,它是通常的React组件。 第二个是孩子,它是功能组件。 我想将 Titles 的值(处于子状态)传递给父Component。这是我的 子组件 代码: 这是我的 父组件 : 这看起来很容易,但这是我第一次使用功能组件。你能帮我吗 ? 问题答案: React就是关于在组件树中向下流动的数据。如果您希望能够显示和/或修改彼此之间的共享状态,则应提升状态并
问题内容: 以下是在reactjs中将值从子组件传递到父组件的正确示例。 App.jsx main.js 我需要明确有关将值从子组件传递到祖父母组件的概念。请帮我!! 问题答案: 您可以通过,将update函数传递给大子级,只需从子组件中再次传递即可。
问题内容: 在React中,我有类似的文件 parent.js 包含文本框和按钮 child.js 包含P标签 App.js 包含父组件和子组件 问题 将“父级”上的“文本框”值传递给子级,并将其显示在子级标记中。 完整代码 堆叠 问题答案: 更新了示例以将数据传递给子组件。 https://stackblitz.com/edit/react- trmj9i?file=child.js 在下面添加
问题内容: 我有一个智能组件和一个哑巴组件,我需要在智能组件中的转储组件中引用一个元素:我可以通过props传递它吗? 问题答案: 您可以对refs使用回调语法:
问题内容: 我正在尝试将数据从子组件发送到其父组件,如下所示: 这是子组件: 我需要的是由用户在父组件中获取选定的值。我收到此错误: 谁能帮我发现问题? PS子组件正在从json文件创建一个下拉列表,并且我需要该下拉列表来显示json数组的两个元素彼此相邻(例如:“ aaa,english”是首选!) 问题答案: 这应该工作。在发送回道具时,您将其作为对象发送,而不是作为值发送,或者将其用作父组件
问题内容: 在我正在从事的新项目中,我开始使用组件而不是指令。 但是,我遇到一个无法找到具体标准方法的问题。 从孩子向父母通知事件很容易,您可以在下面的我的plunkr上找到它,但是从父母向孩子通知事件的正确方法是什么? Angular2似乎通过使用以下方法解决了此问题:https ://angular.io/docs/ts/latest/cookbook/component-communicat