91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

詳解Vue結合后臺的列表增刪改案例

發布時間:2020-10-20 10:25:10 來源:腳本之家 閱讀:148 作者:鎮屌要逆襲 欄目:web開發

首先列表內容還是與之前的列表內容類似,不過此處我們會采用Vue中數據請求的方式來實現數據的增刪。那么我們使用的Vue第三方組件就是vue-resource,vue發起請求的方式與jQuery的ajax相似,組要是請求地址與參數。和方法

首先我們先看到的是列表請求

獲取列表

        <table class=" table table-bordered table-hover table-striped">
          <thead>
            <tr>
              <th>Id</th>
              <th>Name</th>
              <th>CTime</th>
              <th>Operation</th>
            </tr>
          </thead>
          <tbody>
            <tr v-for="item in list" :key="item.id">
              <td>{{ item.id }}</td>
              <td>{{item.title}}</td>
              <td>{{item.description}}</td>
              <td><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="del(item.id)">刪除</a></td>
    
            </tr>
          </tbody>
          
        </table>

在methods中獲取到的加入獲取數據的list方法,使用get請求

        getList(){
          this.$http.get('list').then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.list = result.data
              
            }else{
              alert("獲取數據失敗");
            }
          })
        },

需要注意的是,使用vue-resource的請求獲取的數據,都封裝在回調數據的body域中,同時我們需要在Vue組件的created生命周期函數中加入使用該方法來渲染頁面

      created(){
      //在其他方法中調用定義的方法使用this關鍵字
          this.getList();
      },

增加和刪除元素的方法與此類似,這里給出詳細代碼,不做講解

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="lib/vue-2.4.0.js" ></script>
    <script type="text/javascript" src="lib/vue-resource-1.3.4.js"></script>
    <link rel="stylesheet" href="lib/bootstrap-3.3.7.css" rel="external nofollow" rel="external nofollow" />
  </head>
  <body>
    <div id="app">
      
      <div class="panel-primary">
        <div class="panel-heading">
          <h4 class="panel-title">添加品牌</h4>
        </div>
      <div class="panel-body form-inline">
        <label>
          Id:<input type="text" v-model="id" class="form-control" />
        </label>
        <label>
          Name:
          <input type="text" v-model="title" class="form-control" />
        </label>
        <label>
          關鍵字
        </label>
        <input type="text" v-model="description" class="form-control"/>
        <input type="button" value="添加" class="btn btn-primary" @click="add()"/>

      </div>       
      </div>
        <table class=" table table-bordered table-hover table-striped">
          <thead>
            <tr>
              <th>Id</th>
              <th>Name</th>
              <th>CTime</th>
              <th>Operation</th>
            </tr>
          </thead>
          <tbody>
            <tr v-for="item in list" :key="item.id">
              <td>{{ item.id }}</td>
              <td>{{item.title}}</td>
              <td>{{item.description}}</td>
              <td><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="del(item.id)">刪除</a></td>
    
            </tr>
          </tbody>
          
        </table>
    </div>

  <script>
    var vm = new Vue({
      el:'#app',
      data:{
        id:"",
        title:"",
        description:"",
        list:[],

      },
      created(){
          this.getList();
      },
      methods:{

        getList(){
          this.$http.get('http://localhost:8080/list').then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.list = result.data
              
            }else{
              alert("獲取數據失敗");
            }
          })
        },
        add(){
          this.$http.post('http://localhost:8080/submit',{id:this.id,title:this.title,description:this.description},{emulateJSON:true}).then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.getList();
              
            }else{
              alert("獲取數據失敗");
            }
          })
        },
        del(id){
            this.$http.get('http://localhost:8080/del/'+id,{emulateJSON:true}).then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.getList();
              
            }else{
              alert("獲取數據失敗");
            }
          })
        }
      }
      
    })
  </script>
  </body>
</html>

上述代碼中有兩個地方略顯啰嗦,第一個是url,第二個是傳遞Json數據之后對json的處理,vue-resource 提供了兩個簡化的操作,

url簡化

我們可以在定義Vue對象之前使用

​ Vue.http.options.root=http://localhost:8080/;

來定義請求的基礎url,然后直接使用請求本身的url就可以了,但是需要注意的是兩段url連接起來之后,不允許出現‘//',否則會出問題,一般我會采用基礎url最后多‘/',而自定義的url則無

還有一個是對傳遞數據的參數的簡化,

我們可以在定義Vue對象之前使用

Vue.http.options.emulateJSON = true;

這樣我們在請求時即可默認有此參數,請求的時候就不用加上這個參數了。

經過簡化,上述代碼被簡化為

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="lib/vue-2.4.0.js" ></script>
    <script type="text/javascript" src="lib/vue-resource-1.3.4.js"></script>
    <link rel="stylesheet" href="lib/bootstrap-3.3.7.css" rel="external nofollow" rel="external nofollow" />
  </head>
  <body>
    <div id="app">
      
      <div class="panel-primary">
        <div class="panel-heading">
          <h4 class="panel-title">添加品牌</h4>
        </div>
      <div class="panel-body form-inline">
        <label>
          Id:<input type="text" v-model="id" class="form-control" />
        </label>
        <label>
          Name:
          <input type="text" v-model="title" class="form-control" />
        </label>
        <label>
          關鍵字
        </label>
        <input type="text" v-model="description" class="form-control"/>
        <input type="button" value="添加" class="btn btn-primary" @click="add()"/>

      </div>       
      </div>
        <table class=" table table-bordered table-hover table-striped">
          <thead>
            <tr>
              <th>Id</th>
              <th>Name</th>
              <th>CTime</th>
              <th>Operation</th>
            </tr>
          </thead>
          <tbody>
            <tr v-for="item in list" :key="item.id">
              <td>{{ item.id }}</td>
              <td>{{item.title}}</td>
              <td>{{item.description}}</td>
              <td><a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" @click.prevent="del(item.id)">刪除</a></td>
    
            </tr>
          </tbody>
          
        </table>
    </div>

  <script>
    Vue.http.options.root="http://localhost:8080/";
     Vue.http.options.emulateJSON = true;
    var vm = new Vue({
      el:'#app',
      data:{
        id:"",
        title:"",
        description:"",
        list:[],

      },
      created(){
          this.getList();
      },
      methods:{

        getList(){
          this.$http.get('list').then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.list = result.data
              
            }else{
              alert("獲取數據失敗");
            }
          })
        },
        add(){
          console.log("1");
          this.$http.post('submit',{id:this.id,title:this.title,description:this.description}).then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.getList();
              
            }else{
              alert("獲取數據失敗");
            }
          })
        },
        del(id){
          console.log(2);
            this.$http.get('del/'+id).then(result=>{
            var result =result.body;
            if(result.code ===200){
              this.getList();
              
            }else{
              alert("獲取數據失敗");
            }
          })
        }
      }
      
    })
  </script>
  </body>
</html>

此案例后臺為我使用mybatis和springboot所做的簡單后臺,大家也可以自行操作。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

敦化市| 班戈县| 乐亭县| 武平县| 贵溪市| 阿巴嘎旗| 澄城县| 昌宁县| 来凤县| 林州市| 泾阳县| 江门市| 台东县| 祁门县| 岑巩县| 邮箱| 阳东县| 怀柔区| 分宜县| 禄丰县| 武定县| 手机| 丹东市| 淅川县| 德化县| 当涂县| 闽侯县| 卓资县| 科尔| 元阳县| 景德镇市| 垦利县| 汽车| 丹江口市| 沧州市| 尼玛县| 林口县| 红河县| 清水河县| 泸定县| 金秀|