<script src="https://cdn.jsdelivr.net/npm/vue"></script>
<div id="root">
  <ul>
    <li v-for="on, key in list" v-bind:key="on.key">{{ on.title }}<button v-on:click="deleteList(key)">Delete</button></li>
  </ul>
  <input v-model="gulp">
  <button v-on:click="addList">Add</button>
  <p>
  <span style="color:red">{{ message}}</span>
</div>

<script>
  const vm = new Vue({
    el: '#root',
    data: {
      list: [],
      gulp: '',
      message:'',
    },
    methods: {
      addList: function() { 
        this.message = '';
        if(!this.gulp){
          this.message = 'Нужно добавить текст!';
          return;
        }
        
        this.list.push({ title:this.gulp });
        this.gulp = '';
      },
      deleteList: function(num) {
        this.list.splice(num, 1);
      },
    },
  });
</script>

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.