javascript - Vue.js v-model 数据对象

标签 javascript arrays vue.js

所以我刚开始使用 Vue.js。但是我在执行简单任务时遇到了一些问题,例如向数组添加新的“新闻项”。包含 JSFiddle,所以如果有人能告诉我我做错了什么..

http://jsfiddle.net/pL5taqp6/

HTML

<div id="app">
<input type="text" v-model="news.title">
<input type="text" v-model="news.url">  
<ul>
  <li v-for="n in news">
    {{ n.title }} - {{ n.url }}
  </li>
</ul>
</div>

JS

new Vue({
  el: '#app',
  data: {
    news: [ 
      { title: 'Test Title', url: '/test-title'}
    ]
  }
});

最佳答案

您需要一个单独的方法来将项目添加到 news 数组。我添加了此类功能的 super 简单变体。

http://jsfiddle.net/00953sor/

HTML:

<div id="app">

  <form @submit="addItem">
    <input type="text" v-model="itemTitle">
    <input type="text" v-model="itemUrl">
    <button type="submit">Add</button>
  </form>

  <ul>
    <li v-for="n in news">
      {{ n.title }} - {{ n.url }}
    </li>
  </ul>

  <pre>{{ $data | json }}</pre>

</div>

JavaScript:

new Vue({
  el: '#app',
  data: {
    news: [{
      title: 'Test Title',
      url: '/test-title'
    }]
  },
  methods: {
    addItem: function(e) {
      e.preventDefault(); // prevent page refresh
      this.news.push({
        "title": this.itemTitle,
        "url": this.itemUrl
      });
      this.itemTitle = this.itemUrl = '';
    }
  }
});

关于javascript - Vue.js v-model 数据对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34122255/

相关文章:

javascript - Angular(ui 树)ng-repeat : infinite loop

javascript - JavaScript 与 Java 中的动画图像对比

Javascript - 按日期然后按时间对对象数组进行排序

javascript - 单击显示更多(按钮)后如何将主题列表限制为 5(项目)仅显示 3(项目)

javascript - 使用 Vue 数据包含 CSS 元素

javascript - 如何删除字符串结果中的 [ 和 ]

javascript - 如何更新单选按钮的状态以匹配轮播状态?

Java 图像字节数组大小

android - 从 JSONArray 获取特定值

vue.js - 在 Electron 模式下为Quasar设置API URL