Home > Web Front-end > JS Tutorial > Manipulate vue.js front-end and back-end data

Manipulate vue.js front-end and back-end data

php中世界最好的语言
Release: 2018-06-06 11:23:07
Original
1270 people have browsed it

This time I will bring you the operation of vue.js front-end and back-end data. What are the precautions for operating vue.js front-end and back-end data? The following is a practical case, let's take a look.

When front-end newbies first started making pages, we often used forms in our front-end pages, so learning to submit forms is also a basic skill. In fact, it can be achieved with ajax, but its original syntax is a bit awkward. . . Forehead . . . It's complicated, so here is a way to use vue-resource to submit data to the backend.

(1) The first step is to write a form in the template;

<el-form :model="ruleForm" :rules="rules" ref="ruleForm" class="demo-ruleForm">
 <el-form-item label="用户名" prop="name">
   <el-input v-model="ruleForm.name"></el-input>
 </el-form-item>
 <el-form-item label="用户类型" prop="type">
   <el-select v-model="ruleForm.type" placeholder="请选择专利类型" style="width:500px;">
 <el-option label="一级管理员" value="1"></el-option>
 <el-option label="二级管理员" value="2"></el-option>
 <el-option label="三级管理员" value="3"></el-option>
 <el-option label="普通用户" value="4"></el-option>
   </el-select>
 </el-form-item>
 <el-form-item label="出生日期" prop="date">
   <el-input v-model="ruleForm.date"></el-input>
 </el-form-item>
 <el-form-item label="备注" prop="intro">
   <el-input type="textarea" v-model="ruleForm.intro" :rows="10"></el-input>
 </el-form-item>
 <el-form-item>
   <el-button type="primary" @click="submitForm(&#39;ruleForm&#39;)">提交</el-button>
 </el-form-item>
</el-form>
Copy after login

(2) Define the fields of the form content and the constraint rules of the form in the data;

data() {
   return {
    ruleForm: {
       name: '',
       type: '',
       date: '',
       intro: '',
     }
   }
 rules: {
     name: [
      { required: true, message: '请输入用户名', trigger: 'blur' },
      { min: 1, max: 20, message: '长度在 1 到20个字符', trigger: 'blur' }
     ],
     type: [
      { required: true, message: '请选择用户类型', trigger: 'change' }
     ],
     date: [
      { required: true, message: '请输入出生日期', trigger: 'blur' },
      { min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: 'blur' }
     ],
     intro: [
      { required: true, message: '请输入备注', trigger: 'blur' },
      { min: 50, max: 500, message: '请输入至少50个字', trigger: 'blur' }
     ],
    }
}
Copy after login

(3) Define the method of submitting the form

methods:{
submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
      this.$http.get(baseURL+"api/create?table=user&"+getParamsString(param)).then(function(res){
            if(res.body==1){
              this.$alert("提交成功", '提交结果', {
                confirmButtonText: '确定',
                type: 'success',
                callback: action => {
                },
              });
            }
            else{
              this.$alert("提交失败", '提交结果', {
                confirmButtonText: '确定',
                type: 'warning',
                callback: action => {
                },
              });
            }
          })
        } else {
          console.log('error submit!!');
          return false;
        }
      });
    }
}
Copy after login

The baseURL and api introduction in the above submission function are as follows:

Here I will introduce to you a way to use vue-resource from the following Method for requesting data from the client.

For example, request a table from the backend,

(1) First, return a msg:[] array in data to receive the table data;

(2) Define a request function in the method. For example, the function name here is defined as showDetails;

methods:{
  showDetails:function(){
    this.$http.get(baseURL+"api/条件").then(function(res){
      this.msg = res.body;
    });
  }
}
Copy after login

Here is the path of the baseURL project. If the project is deployed on the server, the general format is www.XXX.com/project name ;The following api is the api interface encapsulated by the backend; and then the conditions are statements such as query and deletion of the table. For example, if you want to query the table named student and need to obtain the confidence of the student whose ID is 40001, the query statement can be written as 'query?table=student&studentIDeq=40001'. It should be noted that it is related to the operation field of the database (in layman's terms, It can be understood that the fields defined by the backend) should be enclosed in quotation marks, while the fields defined by the front end should be placed outside the quotation marks;

(3) Finally, don’t forget that this request operation is not called and is executed by default. So it needs to be executed in real time in mounted;

mounted: function (){
   this.showDetails();
}
Copy after login

Okay, this function is completed. You can view the data obtained from the backend through the network of the browser console, or you can also see it through the console printout. La! ! !

of course. The premise is that there is a table named user in your database, which contains name, type, date, and intro fields, and the back-end interface has been defined, otherwise it will not succeed.

I believe you have mastered the method after reading the case in this article. For more exciting information, please pay attention to other related articles on the php Chinese website!

Recommended reading:

How to use vuex to operate state objects

The above is the detailed content of Manipulate vue.js front-end and back-end data. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template