• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Ajax,前后端分离开发,前端工程化,Element,Vue路由,打包部署

武飞扬头像
枯寂麻辣
帮助2

  1. Ajax介绍
    1. 学新通
    2. 学新通
    3. 学新通
  2. Axios
    1. 学新通
    2. 学新通
      1.  
        <!DOCTYPE html>
      2.  
        <html lang="en">
      3.  
        <head>
      4.  
        <meta charset="UTF-8">
      5.  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
      6.  
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
      7.  
        <title>Ajax-Axios</title>
      8.  
        <script src="js/axios-0.18.0.js"></script>
      9.  
        </head>
      10.  
        <body>
      11.  
         
      12.  
        <input type="button" value="获取数据GET" onclick="get()">
      13.  
         
      14.  
        <input type="button" value="删除数据POST" onclick="post()">
      15.  
         
      16.  
        </body>
      17.  
        <script>
      18.  
        function get(){
      19.  
        //通过axios发送异步请求-get
      20.  
        // axios({
      21.  
        // method: "get",
      22.  
        // url: "http://yapi.smart-xwork.cn/mock/169327/emp/list"
      23.  
        // }).then(result => {
      24.  
        // console.log(result.data);
      25.  
        // })
      26.  
         
      27.  
         
      28.  
        axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
      29.  
        console.log(result.data);
      30.  
        })
      31.  
        }
      32.  
         
      33.  
        function post(){
      34.  
        //通过axios发送异步请求-post
      35.  
        // axios({
      36.  
        // method: "post",
      37.  
        // url: "http://yapi.smart-xwork.cn/mock/169327/emp/deleteById",
      38.  
        // data: "id=1"
      39.  
        // }).then(result => {
      40.  
        // console.log(result.data);
      41.  
        // })
      42.  
        // 这段代码使用了axios库向指定的URL发送POST请求,
      43.  
        //并且带有参数"id=1"。当请求成功后,会打印出返回的数据。
      44.  
        //具体来说,代码中的method表示请求的方法,url表示请求的地址,
      45.  
        //data表示请求的参数。
      46.  
        //而then方法则是用来处理请求成功后的回调函数,result就是请求成功返回的数据。
      47.  
        //需要注意的是,这段代码中的URL是一个mock地址,实际开发中需要使用真实的API地址。
      48.  
        //result 是一个对象,其中 data 是异步请求返回的数据
      49.  
         
      50.  
        axios.post("http://yapi.smart-xwork.cn/mock/169327/emp/deleteById","id=1").then(result => {
      51.  
        console.log(result.data);
      52.  
        })
      53.  
        }
      54.  
        </script>
      55.  
        </html>
      学新通
    3. 案例学新通

      1.  
        <!DOCTYPE html>
      2.  
        <html lang="en">
      3.  
        <head>
      4.  
        <meta charset="UTF-8">
      5.  
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
      6.  
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
      7.  
        <title>Ajax-Axios-案例</title>
      8.  
        <script src="js/axios-0.18.0.js"></script>
      9.  
        <script src="js/vue.js"></script>
      10.  
        </head>
      11.  
        <body>
      12.  
        <div id="app">
      13.  
        <table border="1" cellspacing="0" width="60%">
      14.  
        <tr>
      15.  
        <th>编号</th>
      16.  
        <th>姓名</th>
      17.  
        <th>图像</th>
      18.  
        <th>性别</th>
      19.  
        <th>职位</th>
      20.  
        <th>入职日期</th>
      21.  
        <th>最后操作时间</th>
      22.  
        </tr>
      23.  
         
      24.  
        <tr align="center" v-for="(emp,index) in emps">
      25.  
        <td>{{index 1}}</td>
      26.  
        <td>{{emp.name}}</td>
      27.  
        <td>
      28.  
        <img :src="emp.image" width="70px" height="50px">
      29.  
        </td>
      30.  
        <td>
      31.  
        <span v-if="emp.gender == 1"></span>
      32.  
        <span v-if="emp.gender == 2"></span>
      33.  
        </td>
      34.  
        <td>{{emp.job}}</td>
      35.  
        <td>{{emp.entrydate}}</td>
      36.  
        <td>{{emp.updatetime}}</td>
      37.  
        </tr>
      38.  
        </table>
      39.  
        </div>
      40.  
        </body>
      41.  
        <script>
      42.  
        new Vue({
      43.  
        el: "#app",
      44.  
        data: {
      45.  
        emps:[]
      46.  
        },
      47.  
        mounted () {
      48.  
        //发送异步请求,加载数据
      49.  
        axios.get("http://yapi.smart-xwork.cn/mock/169327/emp/list").then(result => {
      50.  
        this.emps = result.data.data;
      51.  
        console.log(result.data);//在控制台输出result的全部数据
      52.  
        })
      53.  
        }
      54.  
        });
      55.  
        </script>
      56.  
        </html>
      学新通
  3. 前后端分离
    1. 学新通
    2. 学新通
  4. 前端工程化
    1. 环境准备,nodejs安装,D:\javaproject\javaweb\day03-Vue-Element\day03-Vue-Element\资料\NodeJS安装文档学新通
    2. Vue项目简介
      1. 学新通学新通
      2. 学新通
      3. 学新通
      4. 它本来默认端口号是8080 ,但这就和tomcat冲突了所以修改为7000
    3. Vue项目开发流程
      1. 学新通
      2. 学新通
  5. Vue组件库Element
    1. 学新通
    2. 学新通
    3. pagination分页组件,table表格组件,Dialog对话框组件,Form表单组件等。查看官网
    4. vue页面生成步骤,
      1. 因为在main.js这个入口文件中引用的是APP.vue这个根组件
      2. App.vue这个根组件引用的是<element-view> </element-view>这个组件。
      3. 下面就是element
      1.  
        <template>
      2.  
        <div>
      3.  
        <!-- button按钮 -->
      4.  
        <el-row>
      5.  
        <el-button>默认按钮</el-button>
      6.  
        <el-button type="primary">主要按钮</el-button>
      7.  
        <el-button type="success">成功按钮</el-button>
      8.  
        <el-button type="info">信息按钮</el-button>
      9.  
        <el-button type="warning">警告按钮</el-button>
      10.  
        <el-button type="danger">危险按钮</el-button>
      11.  
        </el-row>
      12.  
         
      13.  
        <br />
      14.  
         
      15.  
        <!-- Table 表格 -->
      16.  
        <el-table :data="tableData" border style="width: 100%">
      17.  
        <el-table-column prop="date" label="日期" width="180"> </el-table-column>
      18.  
        <el-table-column prop="name" label="姓名" width="180"> </el-table-column>
      19.  
        <el-table-column prop="address" label="地址"> </el-table-column>
      20.  
        </el-table>
      21.  
         
      22.  
        <!-- Pagination 分页 -->
      23.  
        <el-pagination background layout="total,sizes, prev, pager, next, jumper"
      24.  
        @size-change="handleSizeChange"
      25.  
        @current-change="handleCurrentChange"
      26.  
        :total="1000"></el-pagination>
      27.  
         
      28.  
        <br><br>
      29.  
         
      30.  
        <!-- Dialog对话框 -->
      31.  
        <!-- Table -->
      32.  
        <el-button type="text" @click="dialogTableVisible = true">打开嵌套表格的 Dialog</el-button>
      33.  
         
      34.  
        <el-dialog title="收货地址" :visible.sync="dialogTableVisible">
      35.  
        <el-table :data="gridData">
      36.  
        <el-table-column property="date" label="日期" width="150"></el-table-column>
      37.  
        <el-table-column property="name" label="姓名" width="200"></el-table-column>
      38.  
        <el-table-column property="address" label="地址"></el-table-column>
      39.  
        </el-table>
      40.  
        </el-dialog>
      41.  
         
      42.  
         
      43.  
        <!-- Dialog对话框-Form表单 -->
      44.  
        <el-button type="text" @click="dialogFormVisible = true">打开嵌套Form的 Dialog</el-button>
      45.  
         
      46.  
        <el-dialog title="Form表单" :visible.sync="dialogFormVisible">
      47.  
        <el-form ref="form" :model="form" label-width="80px">
      48.  
        <el-form-item label="活动名称">
      49.  
        <el-input v-model="form.name"></el-input>
      50.  
        </el-form-item>
      51.  
         
      52.  
        <el-form-item label="活动区域">
      53.  
        <el-select v-model="form.region" placeholder="请选择活动区域">
      54.  
        <el-option label="区域一" value="shanghai"></el-option>
      55.  
        <el-option label="区域二" value="beijing"></el-option>
      56.  
        </el-select>
      57.  
        </el-form-item>
      58.  
         
      59.  
        <el-form-item label="活动时间">
      60.  
        <el-col :span="11">
      61.  
        <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
      62.  
        </el-col>
      63.  
        <el-col class="line" :span="2">-</el-col>
      64.  
        <el-col :span="11">
      65.  
        <el-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-time-picker>
      66.  
        </el-col>
      67.  
        </el-form-item>
      68.  
         
      69.  
        <el-form-item>
      70.  
        <el-button type="primary" @click="onSubmit">提交</el-button>
      71.  
        <el-button>取消</el-button>
      72.  
        </el-form-item>
      73.  
        </el-form>
      74.  
        </el-dialog>
      75.  
         
      76.  
         
      77.  
         
      78.  
        </div>
      79.  
        </template>
      80.  
         
      81.  
        <script>
      82.  
        export default {
      83.  
        data() {
      84.  
        return {
      85.  
        form: {
      86.  
        name: '',
      87.  
        region: '',
      88.  
        date1: '',
      89.  
        date2: ''
      90.  
        },
      91.  
        gridData: [{
      92.  
        date: '2016-05-02',
      93.  
        name: '王小虎',
      94.  
        address: '上海市普陀区金沙江路 1518 弄'
      95.  
        }, {
      96.  
        date: '2016-05-04',
      97.  
        name: '王小虎',
      98.  
        address: '上海市普陀区金沙江路 1518 弄'
      99.  
        }, {
      100.  
        date: '2016-05-01',
      101.  
        name: '王小虎',
      102.  
        address: '上海市普陀区金沙江路 1518 弄'
      103.  
        }, {
      104.  
        date: '2016-05-03',
      105.  
        name: '王小虎',
      106.  
        address: '上海市普陀区金沙江路 1518 弄'
      107.  
        }],
      108.  
        dialogTableVisible: false,
      109.  
        dialogFormVisible: false,
      110.  
        tableData: [
      111.  
        {
      112.  
        date: "2016-05-02",
      113.  
        name: "王小虎",
      114.  
        address: "上海市普陀区金沙江路 1518 弄",
      115.  
        },
      116.  
        {
      117.  
        date: "2016-05-04",
      118.  
        name: "王小虎",
      119.  
        address: "上海市普陀区金沙江路 1517 弄",
      120.  
        },
      121.  
        {
      122.  
        date: "2016-05-01",
      123.  
        name: "王小虎",
      124.  
        address: "上海市普陀区金沙江路 1519 弄",
      125.  
        },
      126.  
        {
      127.  
        date: "2016-05-03",
      128.  
        name: "王小虎",
      129.  
        address: "上海市普陀区金沙江路 1516 弄",
      130.  
        },
      131.  
        ],
      132.  
        };
      133.  
        },
      134.  
        methods: {
      135.  
        handleSizeChange:function(val){
      136.  
        alert("每页记录数变化" val)
      137.  
        },
      138.  
        handleCurrentChange:function(val){
      139.  
        alert("页码发生变化" val)
      140.  
        },
      141.  
        onSubmit:function(){
      142.  
        alert(JSON.stringify(this.form));
      143.  
        }
      144.  
        }
      145.  
        };
      146.  
        </script>
      147.  
         
      148.  
        <style>
      149.  
        </style>
      学新通

      一些重要组件的使用学新通

  6. Vue路由学新通
    1. router,配置路由学新通
    2. 什么位置点击跳转学新通
    3. App.vue配置学新通
  7. 打包部署
    1. 打包,npm run build后会出现一个dist目录
    2. netstat -ano | findStr 80(寻找那个进程占用了80端口pid),如果发现那个进程是系统进程,那我们就把Nginx端口号改了,在conf配置文件中的nginx.conf文件中将listen 改成90。学新通
    3. 学新通
    4. 学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhckejhi
系列文章
更多 icon
同类精品
更多 icon
继续加载