vue.js - 在 Vuejs 2 中单击按钮时将完成更改为 true

标签 vue.js vuejs2

我正在尝试在 vuejs 中做一个任务应用程序。单击时我无法让按钮从不完整更改为完成。我无法定位我单击以将完成状态更改为 true 的特定按钮。

参见此处示例,https://jsfiddle.net/clintongreen/b5wxure9/

JS

new Vue({

    el: '#tasks',

    data: {
        message: 'Tasks',
        completed: null,
        tasklist: [
            { description: 'Read', completed: true },
            { description: 'Write', completed: true },
            { description: 'Edit', completed: false },
            { description: 'Publish', completed: false }
        ]
    },

    methods: {
        completeTask: function(){
            // console.log(this.tasks.description);
            return this.task.completed = true;
        }
    }

})  

HTML

<div class="container" id="tasks">

    <div class="panel panel-default">
      <div class="panel-heading">
        <h3 class="panel-title">
            {{ message }}
        </h3>
      </div>
      <ul class="list-group">
        <li class="list-group-item clearfix" v-for="task in tasklist" >
            {{ task.description }}
            <button class="btn btn-primary btn-sm pull-right" v-if="!task.completed" @click="completeTask">Complete</button>
            <button class="btn btn-default btn-sm completed text-muted pull-right disabled" v-else>Completed</button>
        </li>
      </ul>
    </div>

</div>

最佳答案

有几个你可以做到这一点。

<button class="btn btn-primary btn-sm pull-right" v-if="!task.completed" @click="task.completed = true">Complete</button>

如果您仍想使用该方法,请将任务传递给它。

<button class="btn btn-primary btn-sm pull-right" v-if="!task.completed" @click="completeTask(task)">Complete</button>

methods: {
    completeTask: function(task){
        // console.log(this.tasks.description);
        task.completed = true;
    }
}

关于vue.js - 在 Vuejs 2 中单击按钮时将完成更改为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42843554/

相关文章:

javascript - 如何使用 v-for 在每个元素中呈现不同的 CSS 类

javascript - VueJS - 在渲染子组件之前等待父组件中的 update()

javascript - Vue js 与 jquery get 的问题

javascript - Vue.js 中 "mounted"axios 中的意外异步操作

javascript - 存储 vuex 无法读取未定义的属性 'store'”

javascript - 如何将外部 javascript 插入到 Vue 组件中

vue.js - 在自定义组件上使用时 v-model 和 .sync 有什么区别

webpack - Vuejs : Cannot find module "."

vue.js - Vue3 webcomponents 生产构建问题

javascript - Vue.js 无法向 $root 元素发出事件