如何根据键是否在数组中,使用观察程序而不是计算属性来返回true或false值?

时间:2018-08-16 01:40:47

标签: javascript vue.js

我正在构建评论回复系统,但不幸的是,由于回复按钮位于其中,所以我无法将所有逻辑都整合到一个组件中。因此,我必须与我的主要vue实例和Reply-textarea组件共享数据。

它是如何工作的,当我单击<button @click="onShowReplyTextarea(comment_id)">Reply to comment 2</button>时,它将comment_id添加到主要实例上的一系列公开答复中。

然后,<reply-textarea :comment-id="comment_id" v-on:submitted="hideReplyTextarea()" :open-textareas-array="showReplyTextarea"></reply-textarea>组件采用属性openTextareasArray,并使用它显示openTextareasArray中的答复文本区域。

为了显示每个评论的回复文本区域,我使用一个计算属性来判断当前commentId是否在openTextareasArray

<div  v-show="message === null" v-show="isInOpenTextareasArray" >

computed: {
  isInOpenTextareasArray(){
    return this.openTextareasArray[this.commentId] > -1;
  }
}

我得到的问题是计算属性似乎被延迟了,因此在打开另一个答复文本区域之前,注释答复文本区域不会打开。我将使用观察程序来查找注释文本区域是否打开,但是我无法确定

Here is the codepen

0 个答案:

没有答案