为了账号安全,请及时绑定邮箱和手机立即绑定

onToggleFinished方法中修改的是参数isFinished值,为什么会改变data里面items中的值呢?

http://img1.sycdn.imooc.com//5aa1f59c0001294e05780187.jpg

http://img1.sycdn.imooc.com//5aa1f59d0001d23e03970273.jpg

<template>

 <div id="app">

   <h1>{{ title }}</h1>

   <label for="newItem">

     <span>新建项目</span>

   </label>

   <input type="text" id="newItem"

          v-model="newItem" placeholder="请输入新的项目名称"

          v-on:keyup.enter="onAddNewItem()" >

   <button @click="onAddNewItem()">新增</button>

   <br />

   <h3>{{newItem}}</h3>

   <div>

     <ul>

       <li type="none"

           v-for="item in items"  

           v-bind:class="[liClass, {'finished':item.isFinished}]"

           v-on:click="onToggleFinished(item)" >

         {{ item.label }}

       </li>

     </ul>

   </div>

 </div>

</template>


<script>


export default {

 data: function () {

   return {

     title: 'This is a todo list.',

     items: [

       {

         label: 'coding',

         isFinished: false

       },

       {

         label: 'running',

         isFinished: true

       }

     ],

     liClass: 'isLiClass',

     newItem: ''

   };

 },

 methods: {

   onToggleFinished: function (item) {

       item.isFinished = !item.isFinished;

   },

   onAddNewItem: function () {

     // alert('新增项目中......');

     console.log(this.newItem);

     this.items.push({

       label: this.newItem,

       isFinished: false

     });

     this.newItem = '';

   }

 }


}

</script>


<style>


 .finished {

   text-decoration: underline;

 }


 html {

   height: 100%;

 }


 body {

   display: flex;

   flex-direction: row;

   align-items: center;

   justify-content: center;

   height: 100%;

 }


 #app {

   font-family: 'Avenir', Helvetica, Arial, sans-serif;

   -webkit-font-smoothing: antialiased;

   -moz-osx-font-smoothing: grayscale;

   text-align: center;

   color: #2c3e50;

   margin-top: 60px;

 }

</style>



正在回答

1 回答

你data里面的li调用了这个方法啊

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
vue.js入门基础
  • 参与学习       209716    人
  • 解答问题       677    个

本门为vuejs入门教程,详细的讲解加实战,可以帮你进入vuejs的大门

进入课程

onToggleFinished方法中修改的是参数isFinished值,为什么会改变data里面items中的值呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信