【问题标题】:When add 1 the string should not is 01 [duplicate]添加 1 时,字符串不应该是 01 [重复]
【发布时间】:2018-01-24 06:24:31
【问题描述】:

我尝试加1,但item.num是01。如何加1输入值是1,2,3,4,5...?请注意,num 必须是字符串。去jsfiddle的demo吧。

看gif:

看图:

注意:item.num += 1不需要修改!

我想要如下效果:

看javascript:

var app = new Vue({
  el: "#app",
  data: {
    list: [{
      id: "1",
      name: "demo01",
      num: "0"
    }],
    addnum: []
  },
  methods: {
    addClick(item) {
      console.log(this.addnum.push(item))
      item.num+=1
    },

  }
})

HTML 文件:

<div id="app">
  <ul>
    <li v-for="item in list">
      <p>{{item.name}}</p>
      <br>
      <input type="text" :value="item.num">
      <button @click="addClick(item)">+</button>
    </li>
  </ul>
</div>

【问题讨论】:

  • 为什么不先强制?看看这里:jsfiddle.net/9knrb919 另外,为什么首先是字符串?只需使用一个数字:jsfiddle.net/pb9u3umh
  • 您应该先将 item.num 转换为数字
  • 嗨,您应该为此函数使用 for 循环增量
  • 类似这样的东西 or (var i = 0; i
  • 您能解释一下这些限制来自哪里吗?为什么这个数字必须是一个字符串?为什么不能在自己的组件中修改一行简单的代码?在当前的上下文和代码中,这些要求对我来说毫无意义。

标签: javascript vue.js vuejs2


【解决方案1】:

希望您至少可以在addClick 方法中添加一些代码,这是要做什么:

addClick(item) {
      console.log(this.addnum.push(item))
      item.num = parseInt(item.num, 10)
      item.num+=1
      item.num = ""+item.num // converting back to string
    },

【讨论】:

    猜你喜欢
    • 2016-02-03
    • 2013-01-16
    • 2020-08-17
    • 2015-10-04
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 2015-07-05
    相关资源
    最近更新 更多