Maison > interface Web > js tutoriel > le corps du texte

Implémentation de Vue d'exemples de gestion de livres

小云云
Libérer: 2018-01-15 11:29:13
original
2201 Les gens l'ont consulté

Cet article présente principalement Vue pour implémenter la gestion des bibliothèques, partage les points de connaissances utilisés dans la démonstration de gestion des bibliothèques et résume les problèmes rencontrés. Il a une certaine valeur de référence. J'espère qu'il pourra aider tout le monde. .

Les projets futurs de l'entreprise nécessitent l'utilisation des connaissances de vue.js. Je ne l'ai pas appris en Angular, je ne connais que peu de choses sur node.js et sur React, il est donc difficile de l'apprendre. Si vous souhaitez acquérir des connaissances sur vue.js, le site Web recommandé : http://vuejs.org/

Les détails sont les suivants :

1. Points de connaissances pour la gestion des bibliothèques. démo

1. bootstrap : http://getbootstrap.com/

2. vuejs : http://getbootstrap.com/

Le code spécifique est comme suit :

partie html


<p id="app" class="container">
 <table class="table table-bordered">
 <p v-for = "book in books">
  <tr>
  <th>书名</th>
  <th>书的价格</th>
  <th>书的数量</th>
  <th>小计</th>
  <th>操作</th>
  </tr>
  <tr v-for = "(index,book ) in books">
  <td>{{book.name}}</td>
  <td>{{book.price}}</td>
  <td><button @click="book.count&&book.count--">-</button><input type="text" v-model="book.count" /><button @click="book.count++">+</button></td>
  <td>{{book.price*book.count}}</td>
  <td><button class="btn btn-danger" @click="deleteBook(book)">删除</button></td>
  </tr>
  <tr>
  <td colspan="5">
  总价{{total}}
  </td>
  </tr>
 </p>
 </table>
 <p class="form-group">
 <label for="bookname" id="bookname">书名</label>
 <input type="text" v-model="list.name" class="form-control"/>
 </p>
 <p class="form-group">
 <label for="bookprice" id="bookprice">价格</label>
 <input type="text" v-model="list.price" class="form-control"/>
 </p>
 <p class="form-group">
 <label for="bookcount" id="bookcount">数量</label>
 <input type="text" v-model="list.count" class="form-control"/>
 </p>
 <p class="form-group">
 <button class="btn btn-primary" @click="add">添加</button>
 </p>
 </p>
Copier après la connexion

partie script


<script src="js/vue.js"></script>
 <script>
 var vm = new Vue({
 el:"#app",
 data:{
  books:[
  {name:&#39;VUE js&#39;,price:40,count:1},
  {name:&#39;NODE js&#39;,price:20,count:1},
  {name:&#39;REACT js&#39;,price:30,count:1},
  {name:&#39;ANGULAR js&#39;,price:100,count:1},
  {name:&#39;JQUERY js&#39;,price:50,count:1},
  ],
  list:{
  name:&#39;&#39;,
  price:&#39;&#39;,
  count:&#39;&#39;
  }
 },
 methods:{
  deleteBook(book){
  // vue 给我们提供了一个 $remove的方法,在数组中删除
  this.books.$remove(book);
  /*this.books = this.books.filter((item)=>{
  return item != book
  })*/
  },
  add(){
  this.books.push(this.list);
  this.list = {
  name:&#39;&#39;,
  price:&#39;&#39;,
  count:&#39;&#39;
  }
  }
 },
 computed:{
  total(){
  var sum = 0;
  this.books.forEach(item =>{
  sum += item.price*item.count;
  })
  return sum;
  }
 }
 });
</script>
Copier après la connexion

Résumé des difficultés rencontrées

Lorsque la quantité est inférieure à 0, il existe de nombreuses façons de la juger et de la résoudre. 3 méthodes

(1) La méthode la plus simple

Basé sur le jugement logique, faites attention à l'ordre du jugement logique ici, le code est comme suit :

Copier le code Le code est le suivant :

(deux) Ici, vous devez faire attention au problème signalé par ceci

Copier le code Le code est comme suit :

+< /bouton>


methods:{
  min(index){
  if(this.books[index].count>0){
  this.books[index].count = parseInt(this.books[index].count) - 1;
  }
  },
  deleteBook(book){
  // vue 给我们提供了一个 $remove的方法,在数组中删除
  this.books.$remove(book);
  /*this.books = this.books.filter((item)=>{
  return item != book
  })*/
  },
  add(){
  this.books.push(this.list);
  this.list = {
  name:&#39;&#39;,
  price:&#39;&#39;,
  count:&#39;&#39;
  }
  }
 }
Copier après la connexion

(3) Problème de passage des paramètres lors de l'exécution de v-on

Copier le code Le code est le suivant :

-+


min(book){
 if(book.count>0){
 book.count = parseInt(book.count) - 1;
 }
}
Copier après la connexion

Résumé :

Quand v- on exécute une méthode, add () lorsque vous devez transmettre des paramètres. Si vous n'avez pas besoin de transmettre des paramètres, vous n'avez pas besoin d'ajouter ()
Si des paramètres doivent être transmis, nous devons les transmettre manuellement. la source de l'événement

Recommandations associées :

Étapes détaillées pour créer une plateforme de gestion de livres avec vue.js

Gestion de livres le code source du système php génère un code de vérification aléatoire code image

Node.js Close to Practical Combat (2) Book Management System_html/css_WEB-ITnose

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal