首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未传递到Vue 2中的自定义组件的点击

未传递到Vue 2中的自定义组件的点击
EN

Stack Overflow用户
提问于 2017-06-05 19:43:29
回答 1查看 250关注 0票数 0

我包含了一大堆这样的帖子:

代码语言:javascript
复制
<template>
  <div id="posts">
    <div id="posts-wrapper">
      <post v-for="(item, key) in posts" :key="item.id" :post="item" :isListItem="true"></post>
    </div>
    <infinite-loading :on-infinite="onInfinite" ref="infiniteLoading">
      <span slot="no-more">
        There are no more posts
      </span>
    </infinite-loading>
  </div>
</template>

<script>
import InfiniteLoading from 'vue-infinite-loading'
import posts from '@/api/posts'
import post from '@/components/Post'

export default {
  name: 'posts',
  components: {
    post,
    InfiniteLoading,
  },
  data () {
    return {
      posts: []
    }
  },
  methods: {
    onInfinite() {
        posts.getPosts(page++).then(posts => {
        this.posts = this.posts.concat(posts);
        this.$refs.infiniteLoading.$emit('$InfiniteLoading:loaded');
      })
    }
  }
};
</script>

下面是post组件:

代码语言:javascript
复制
<template>
  <v-card class="post-list-item" v-bind:class="{ clickable: isListItem }" @click.native="openPost">
    <div class="header">
      {{ post.name }}
    </div>
    <div class="image">

    </div>
    <div class="data">

    </div>
    <!-- same handler bound here just for testing -->
    <div class="button" v-on:click.native="openPost">
      Open post
    </div>
  </v-card>
</template>

<script>
  export default {
    name: 'post',
    methods: {
      openPost() {
        console.log('post opening');
      }
    },
    props: {
      post: {
        type: Object,
        required: true
      },
      isListItem: {
        type: Boolean,
        default: false
      }
    },
    data () {
      return {}
    }
  }
</script>

问题是,点击没有通过,即。永远不会调用openPost()方法。如果我在父级中设置了一个侦听器,那么就可以工作了,但这不是我想要的。点击应该在组件本身内处理。

v-card是一个Vuetify component

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-06-09 02:14:18

我也有同样的问题,但我通过使用

代码语言:javascript
复制
v-on:click

而不是

代码语言:javascript
复制
@click.native
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44368207

复制
相关文章

相似问题

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