前端基础知识

这篇具有很好参考价值的文章主要介绍了前端基础知识。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. 创建工作区
  2. es6基础
  3. vue
  4. axios
  5. 切换node.js
  6. 初始化项目
  7. 修改访问接口
  8. 代码编写
  9. 将token放到请求头中传递

1.创建工作区步骤

前端基础知识,前端

2.es6基础

前端基础知识,前端

3. vue

前端基础知识,前端

vue的生命周期

前端基础知识,前端

axios

前端基础知识,前端

切换nodejs

  1. 下载npm
  2. 下载需要的nodejs (nvm install 10.23.0 ) ,然后 use 选择下载的nodejs ( nvm use 10.23.0 )
  3. 查看npm下的所有nodejs : nvm ls

初始化项目

修改成本地的
前端基础知识,前端

修改访问接口 修改为:

前端基础知识,前端

代码编写

前端基础知识,前端
举例说明:

  1. 勾选复选框
    前端基础知识,前端
  2. 点击批量删除
    前端基础知识,前端
    发生的请求:

前端基础知识,前端

<template>

<div class="app-container">


     <!--查询表单-->
     <div class="search-div">
      <el-form label-width="70px" size="small">
        <el-row>
          <el-col :span="24">
            <el-form-item label="部门名称">
              <el-input style="width: 100%" v-model="searchObj.name" placeholder="部门名称"></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row style="display:flex">
          <el-button type="primary" icon="el-icon-search" size="mini" :loading="loading" @click="fetchData()">搜索</el-button>
          <el-button icon="el-icon-refresh" size="mini" @click="resetData">重置</el-button>

          <el-button type="success" icon="el-icon-plus" size="mini" :disabled="$hasBP('bnt.sysRole.add')  === false" @click="add">添 加</el-button>
        <el-button class="btn-add" size="mini" @click="batchRemove()" >批量删除</el-button>
        </el-row>
      </el-form>
    </div>


        <!-- 表格 -->
    <el-table
      v-loading="listLoading"
      :data="list"
      stripe
      border
      style="width: 100%;margin-top: 10px;"
      @selection-change="handleSelectionChange">  // 将复选框所在的值进行传递

      <el-table-column type="selection"/>  // 复选框 

      <el-table-column
        label="序号"
        width="70"
        align="center">
        <template slot-scope="scope">
          {{ (page - 1) * limit + scope.$index + 1 }}
        </template>
      </el-table-column>

      <el-table-column prop="name" label="部门名称" />
      <el-table-column prop="leader" label="负责人"/>
      <el-table-column prop="phone" label="电话" />
      <el-table-column prop="createTime" label="创建时间"/>

      <el-table-column label="操作" width="200" align="center">
        <template slot-scope="scope">
          <el-button type="primary" icon="el-icon-edit" size="mini" @click="edit(scope.row.id)" title="修改"/>
          <el-button type="danger" icon="el-icon-delete" size="mini" @click="removeDataById(scope.row.id)" title="删除"/>
        </template>
      </el-table-column>
    </el-table>

    <!-- 分页组件 -->
    <el-pagination
      :current-page="page"
      :total="total"
      :page-size="limit"
      :page-sizes="[5, 10, 20, 30, 40, 50, 100]"
      style="padding: 30px 0; text-align: center;"
      layout="sizes, prev, pager, next, jumper, ->, total, slot"
      @current-change="fetchData"
      @size-change="changeSize"
    />

    <!-- dialogVisible 这个值true 或 false 决定是否弹框   -->
    <el-dialog title="添加/修改" :visible.sync="dialogVisible" width="40%" >

      <el-form ref="dataForm" :model="sysdept" label-width="150px" size="small" style="padding-right: 40px;">

        <el-form-item label="部门名称">
          <el-input v-model="sysdept.name"/>
        </el-form-item>

        <el-form-item label="上级部门名称" prop="roleName ">
          <el-select v-model="sysdept.roleName" clearable>
            <el-option v-for="item in iconList" :key="item.name" :label="item.name" :value="item.name">
              <span style="padding-left: 6px;">{{ item.name }}</span>
            </el-option>
          </el-select>
        </el-form-item>

        <el-form-item label="负责人">
          <el-input v-model="sysdept.leader"/>
        </el-form-item>
        <el-form-item label="电话">
          <el-input v-model="sysdept.phone"/>
        </el-form-item>

      </el-form>
      <span slot="footer" class="dialog-footer">
        <el-button @click="dialogVisible = false" size="small" icon="el-icon-refresh-right">取 消</el-button>
        <el-button type="primary" icon="el-icon-check" @click="saveOrUpdate()" size="small">确 定</el-button>
      </span>
    </el-dialog>

</div>


</template>


<script>
//引入定义接口js文件
import api from '@/api/system/sysDept'

export default {
    //vue代码结构
    //初始值
    data() {
        return {
            list:[],//角色列表
            page:1,//当前页
            limit:10,//每页显示记录数
            total:0,//总记录数

            searchObj:{},//条件对象

            selections:[],//多个复选框值

            sysdept:{},//封装表单角色数据

            dialogVisible:false, //是否弹框

            iconList: []
        }
    },
    created() { //渲染之前执行
        this.fetchData()
    },
    methods:{ 
        //选择复选框,把复选框所在行内容传递
        handleSelectionChange(selection) {
            this.selections = selection
            console.log(this.selections)
        },

        batchRemove(){
          var length =   this.selections.length 
          if(length == 0){
            this.$message.warning('请选择你要删除的数据')
            return
          }
          this.$confirm('此操作将永久删除该记录, 是否继续?', '提示', {
                confirmButtonText: '确定',
                cancelButtonText: '取消',
                type: 'warning'
            }).then(() => {
                var idList = [] ;
                this.selections.forEach( item => {
                   var id =  item.id
                   idList.push(id)
                });
                api.batchRemove(idList).then(response => {
                    this.$message.success(response.message || '操作成功')
                    this.fetchData() 
                })
            })

        },



            // 当页码发生改变的时候
            changeSize(size) {
            console.log(size)
            this.limit = size
            this.fetchData(1)
            },

        fetchData(current=1) {   // 没有传递值,默认等于1 ,
            this.page = current
            api.getPageList(this.page,this.limit,this.searchObj)
                .then(response => {   //得到接口返回的数据 response响应体  
                    this.list = response.data.records
                    this.total = response.data.total
                    // this.fetchData() 
                })
        },
    resetData(){
        this.searchObj.name = null ;
        this.fetchData()
    },
    add(){
        this.dialogVisible = true ;
        api.queryNmae().then(response => {
            this.iconList = response.data ;
        })

    },
    saveOrUpdate(){
        //根据id判断
        if (!this.sysdept.id) {//添加
                this.save()
            } else {//修改
                this.update()
            }
    },
    save(){
        api.saveRole(this.sysdept)
                .then(response => {
                    this.sysdept = {}
                    //提示
                    this.$message.success(response.message || '操作成功')
                    //关闭弹框
                    this.dialogVisible = false
                    //刷新页面
                    this.fetchData() 
                })
    },
    update(){
        api.updateById(this.sysdept)
                .then(response => {
                    this.sysdept = {}
                    //提示
                    this.$message.success(response.message || '操作成功')
                    //关闭弹框
                    this.dialogVisible = false
                    //刷新页面
                    this.fetchData()
                })
    },
    edit(id){
        this.dialogVisible = true
        api.queryid(id).then(response =>{
           this.sysdept = response.data
        })
    },
    removeDataById(id){
        api.removid(id).then(response =>{
            this.$message.success(response.message || '操作成功')
            this.fetchData()
        })
    }

}
}

</script>

token放入请求头

前端基础知识,前端

前端基础知识,前端文章来源地址https://www.toymoban.com/news/detail-526186.html

到了这里,关于前端基础知识的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端Angular框架基础知识(一)

    1.1 数据绑定 数据驱动DOM:将组件 类 (.ts文件)中的数据显示在组件 模板 (.html文件)中,当类中的数据发生变化会自动同步到模板中. Angular中使用差值表达式进行数据绑定, {{ }}语法 1.2 属性绑定 1.2.1 普通属性 使用【属性名称】为元素绑定DOM对象属性 使用【attr.属性名称】为元

    2024年01月17日
    浏览(30)
  • Websocket、Session&Cookie、前端基础知识

    目录 1.Websocket Websocket与HTTP的介绍 不同使用场景 Websocket链接过程 2.SessionCookie Cookie的工作原理 Session的工作原理 区别 3.前端基础知识 HTTP: 1. HTTP 是单向的,客户端发送请求,服务器发送响应。每个 HTTP 或 HTTPS 请求每次都会新建与服务器的连接,并且在获得响应后,连接将自

    2024年02月10日
    浏览(33)
  • 【前端知识】React 基础巩固(十三)——列表渲染

    在 React 中没有像 Vue 模块语法中的 v-for 指令,而是需要我们通过 JS 代码的方式组织数据,转成 JSX 在 React 中,展示列表最多的方式就是使用数组的 map 高阶函数 在展示数组前,有时会进行一些处理 过滤一些内容(filter 函数) 截取数组中的一部分内容(slice 函数) 列表中的

    2024年02月10日
    浏览(41)
  • 后端必会的前端vue基础知识

    build ------前端工程webpack构建设置 config ------ 前端工程构建参数设置(index.js 打包) src ---- 项目代码         api ---- 服务端口请求         assets ---- 项目静态文件、图片         coponents ---- 项目自定义组件         mock ----- 模拟数据         router ----- 项目路由配置      

    2024年01月20日
    浏览(39)
  • 前端02:CSS选择器等基础知识

    CSS基础选择器、设置字体样式、文本样式、CSS的三种引入方式、能使用Chrome调试工具调试样式 HTML专注做结构呈现,样式交给CSS,即结构(HTML)和样式CSS相分离 CSS主要由量分布构成,选择器以及一条或多条声明 选择器:给谁改样式 声明:改什么样的样式 在head最后写上styt

    2023年04月25日
    浏览(35)
  • 现代前端开发者的自我迷失,你还会前端基础知识吗?

    通常来说,我认为情况并不算糟糕,熟练的手可以几乎做到一切。然而,最近我注意到一些事情改变了我对这个行业的看法。似乎在这些无尽的趋势、范式和新奇玩意中,我们忘记了前端开发的支柱(意思是忘记了基础知识,没有轮子没法写代码了)。 在这篇文章中,我想分

    2023年04月08日
    浏览(33)
  • 【前端知识】React 基础巩固(二十七)——Fragment

    Fragment 允许将子列表分组,而无需向 DOM 添加额外节点 可以采用语法糖 / 来替代 Fragment,但在需要添加 key 的场景下不能使用此短语 查看Fragment应用后的效果

    2024年02月16日
    浏览(43)
  • 【前端知识】React 基础巩固(二十八)——StrictMode

    StrictMode 是一个用来突出显示应用程序中潜在问题的工具 与 Fragment 一样,StrictMode 不会渲染任何可见的 UI 为后代出发额外的检测和警告 严格模式检查仅在开发模式下运行,不影响生产构建 严格模式检查什么? 识别不安全的生命周期 使用过时的 ref API 检查意外的副作用 组件

    2024年02月16日
    浏览(39)
  • 【前端知识】React 基础巩固(四十)——Navigate导航

    新建Login页面,在Login中引入Navigate,实现点击登陆按钮跳转至 /home 路径下: 当路由均无匹配时,通过Navigate跳转至NotFound界面,其中 * 为通配符: 构建NotFound.jsx 在App.jsx中配置NotFound: 构建Home的子路由页面: HomeRecommend.jsx HomeRanking.jsx 利用 Route 嵌套子路由,实现Home页面下的

    2024年02月14日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包