2017-03-01 7 views
0

にdoesntの仕事を発します。それがどのように見えるので、ページ上での挿入は、同じようにされており、別のページでは、親がv-用されていますVUEのカスタムは、私はこのようになりますコンポーネントを持つV-ため

<div class="lesson-list-item" v-bind:class="{ 'lesson-complete': course.iterator_position > index}" v-for="(lesson, index) in content" > 

    <task-list :content="lesson.children" :iterator="lesson.section" :user="user" @updateTask="updateTask"></task-list> 

</div> 

どちらのページにも方法があります:

updateTask(index){ 

       var self = this; 

       this.loaded  = false; 
       this.iterator = index; 
       this.newTask = index; 
       setTimeout(function() { self.loaded = true }, 10); 

      } 

これはどのようなタスクリストでありますクリックで発する:

cardClick(index, slug, initialIterator){ 

       console.log(index); 

       if(index <= this.initialIterator){ 
        this.$emit('updateTask', index); 
       } 

      } 

そのv-for作品、それがEMITイベントを受け取ることはありません1に包まれていないページ。

+0

あなたは 'updateTask'イベントを発するコードを含めることができます。また、「うまくいかない」という意味を明確にするか、問題を示すjsFiddleへのリンクを含めてください。 – PatrickSteele

+0

@patricksteele updateTask emitについて言及していただきありがとうございます。質問 – Packy

+1

@patricksteeleを更新しました。あるページでトリガーする方法でラップしますが、別のページではトリガーとなるようにラップします。私は間違った領域に焦点を当てていました – Packy

答えて

0

あなたのコンポーネントはupdateTaskイベントを放出しないと思います。

は、あなたがイベントを起動したいメソッドにこれを追加:this.$emit('updateTask');

+0

タスクリストコンポーネントはイベントを正常に出力しますが、 ''がv-forにないときにのみ受信されます。私が ''を単独で持っている場合、 'updateTask'メソッドはうまく動作します。 – Packy

関連する問題