首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >理解何时使用:,@,并且没有任何用法

理解何时使用:,@,并且没有任何用法
EN

Stack Overflow用户
提问于 2021-08-02 05:13:21
回答 2查看 39关注 0票数 0

我一直在研究一个已经存在的代码,并试图理解在一个标记中传递的不同参数。

代码语言:javascript
运行
复制
<some-element 
    placeholder ="show first name"
    :someElement = "true"
    @error = "showErrorAlert"
>

那么,传递这三个参数以及何时传递它们之间到底有什么区别。

我对vue非常陌生,所以我有点挣扎。

如果任何人需要进一步的信息,请让我知道。

EN

回答 2

Stack Overflow用户

发布于 2021-08-02 06:05:44

为了在vuejs中的组件之间进行数据通信,我们有两个概念:propsevents

vue props

vue custom events

阅读上面的两个链接,从vue文档中了解它们,但简而言之,我们有一个这样的组件结构:

代码语言:javascript
运行
复制
<parent-component>
---- | <child-component>

从父级到子级的数据流是在props的帮助下完成的。也就是说,当你定义child-component时,你可以在它的vue实例对象中设置这个组件可以接受这样的属性。

代码语言:javascript
运行
复制
props: {
  text: { type: String },
  value: { type: Boolean },
}

然后,当您在父组件中使用此组件时,您可以将定义的道具传递给组件,如下所示:

代码语言:javascript
运行
复制
<child-component text="some text" :value="false" />

请注意,:表示法只是v-bind:value="false"的简写,如果不使用此绑定,false将作为string发送给子组件。对于任何其他值类型,您应该使用绑定。

请阅读文档以了解有关vue中绑定的更多信息

attribute binding

v-bind shorthand

现在,从子组件到父组件的数据流是通过events完成的,所以在您的子组件中,您可以emit一个事件,让父组件监听,如下所示:

代码语言:javascript
运行
复制
this.$emit('event-name', payload)

然后,在使用子组件的父组件中,您可以像这样监听此事件

代码语言:javascript
运行
复制
<child-component @event-name="doSomethingFun($event)" />

其中doSomethingFun()是父组件中的方法,我们使用$event将子组件发送的有效负载传递给此方法

请注意,与v-on:event-name="doSomethingFun($event)"一样,@表示法也是v-on的缩写

票数 0
EN

Stack Overflow用户

发布于 2021-08-02 06:12:09

:v-bind:的缩写,用于动态呈现诸如src、href等属性。

@v-on:click的缩写,它是函数调用的事件处理程序。

您可以阅读更多Event handling shorthand syntax

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68616630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档