zoukankan      html  css  js  c++  java
  • vue

    ES6的常用语法
    -- 变量的定义
    -- var
    -- let
    -- const
    -- 模板字符串
    -- ``
    -- ${}
    -- 箭头函数
    -- 注意this跟普通函数的区别
    -- 类
    -- class
    -- extends
    -- constructor
    -- 子类没有this 需要用super()
    -- 数据的解构
    -- 注意语法
    Vue的常用指令
    -- v-text
    -- v-html
    -- v-if
    -- v-show
    -- v-for
    -- v-bind
    -- v-on
    -- v-model
    -- input
    -- select
    -- textarea
    -- 指令的修饰符
    -- .lazy
    -- .number
    -- .trim
    -- 自定义的指令
    -- Vue.directive("指令名称", function(el, binding){
    el 绑定指令的标签元素
    binding 指令的所有信息
    })
    -- 计算属性
    -- 放入内存
    -- 当数据改变的时候才会重新计算
    -- 获取DOM
    -- 给标签增加属性 ref = "xxxx"
    -- this.$refs.xxxx

    Vue的组件
    -- 全局注册
    -- Vue.component("组件的名称", {
    template: ``,
    data(){
    return {
    xxx:xx
    }
    }
    })
    -- 局部注册
    -- let my_com = {
    template: ``,
    data(){
    return {
    xxx:xx
    }
    }
    }
    -- 在APP里components: {
    my_com: my_com
    }
    -- <my_com></my_com>
    -- 子组件的组件
    -- 在父组件里components: {
    child: child
    }
    -- 在父组件的template里面<child></child>
    -- 通信
    -- 父子通信
    -- 在父组件里给子组件绑定属性
    --<child :xxx="值"></child>
    -- 子组件通过props接收
    -- 子父通信
    -- 子组件提交事件
    -- this.$emit("事件名称",要传的数据)
    -- 在父组件给子组件绑定事件
    --<child @xxx="自己处理的方法"></child>
    -- 非父子通信
    -- 定义中间调度器
    -- let Event = new Vue()
    -- 其中一个组件要向中间调度器提交事件
    -- Event.$emit("事件名称",要传的数据)
    -- 另一个组件要监听调度器中的事件
    -- mounted(){
    Event.$on("事件名称", function(data){
    do something.....
    })
    }
    -- 混合
    -- mixins 用于代码复用
    -- 插槽
    -- 为组件做内容分发的接口
    -- 命名插槽
    Vue的路由
    -- 路由的注册
    -- let url = [
    {
    path: "/",
    component: {
    template: ``
    }
    }
    ]
    -- let router = new VueRouter({
    routes: url
    })
    -- 在APP中注册注册路由
    -- new Vue({
    el: "#app",
    router: router
    })
    -- <router-link :to="{name: 'xx'}">首页</router-link>
    -- <router-view></router-view>
    -- 子路由的注册
    -- children: [
    {
    path: "xxx",
    component: {
    template: ``
    }
    }
    ]
    -- 路由的参数
    -- path: "/user/:name"
    -- this.$route
    -- 路由的所有信息
    -- fullpath
    -- path
    -- params
    -- query
    -- meta
    -- this.$router
    -- VueRouter 实例对象
    -- 路由的命名
    -- 注意to参数要动态绑定
    -- 手动更新路由
    -- this.$router.push("///")
    -- 路由的钩子函数
    -- router.beforeEach(function(to, from, next){
    to 你要去哪
    form 你从哪来
    next 接下来做什么
    -- false 中断路由
    -- 空 正常执行
    -- 路径 调转到该路径
    })
    -- router.afterEach(function(to, from){
    to 你要去哪
    form 你从哪来
    })
    -- 命名的路由视图
    -- 一个路由对应多个组件的时候
    -- <router-view name="组件的名称"></router-view>
    生命周期
    -- beforeCreate
    -- created
    -- beforeMount
    -- mounted
    -- beforeUpdate
    -- updated
    -- beforeDestroy
    -- destroyed
    -- 数据监听
    -- watch: {
    数据:{
    handler: function(val, oldVal){

    },
    deep: true
    }
    }
    -- 数据
    -- app.$set(数据, index/key, value)
    npm webpack vue-cli
    -- npm
    -- npm 是node.js 包管理工具
    -- npm init -y
    -- package.json
    -- npm install xxxx@0.0.0 下载包
    -- npm uninstall xxx 卸载
    -- npm update xxx 更新
    -- npm list -g
    -- webpack 打包工具 4以上版本
    -- webpack不独立存在了需要有webpack-cli
    -- npm i webpack webpack-cli
    -- 默认的打包入口文件 需要手动创建src
    -- src/index.js
    -- 出口文件在dist目录下的main.js
    -- webpack --mode development/production
    -- vue-cli 3
    -- npm i -g @vue/cli
    -- vue create xxx
    -- cd /xxx npm run serve
    -- 目录结构
    -- src 工作目录
    -- components
    -- assets
    -- 静态资源
    -- APP.vue
    -- main.js
    -- public
    -- index.html
    -- node_moudeles
    -- package.json
    Vuex
    -- 集中式状态管理架构
    -- 配置
    -- npm install vuex
    -- import vuex from "vuex"
    -- Vue.use(vuex)
    -- let store = new vuex.Store({
    state: {
    xxx: xxx
    },
    getters: {
    xxx: function(state, getters){
    return 处理后的数据
    }
    },
    mutations: {}
    })
    -- const app = new Vue({
    el: "#app",
    store: store
    })
    -- 获取vuex中的数据
    -- this.$store.state.xxx
    -- this.$store.getters.xxx
    -- 更改vuex中的数据
    -- this.$store.commit("事件名称",data)
    -- mutations: {
    "事件名称": function(state, data){
    state.xxx = data
    }
    }
    Axios
    -- 配置
    -- npm install axios
    -- import axios from "axios"
    -- Vue.prototype.$axios = axios
    -- this.$axios.request({
    url: "api....",
    method: "get",
    data: {},
    params: {}
    }).then(function(data){
    注意this
    }).catch(function(data){

    })
    -- 跨域问题
    restful
    -- REST 表征性状态转移 (资源状态转移)
    -- 资源
    -- URI 统一资源标志符
    URL 统一资源定位符
    -- 统一资源接口
    -- 对资源只开放一个接口
    -- 根据HTTP请求方式的不同对资源进行不同的操作
    -- 一定要遵循HTTP请求方式的语义
    -- 前后端传递的是资源的表述 并不是资源的本身
    -- Accept
    -- 我能够解析的数据类型
    -- ContentType
    -- 给你响应的数据类型
    -- 资源的状态
    -- 通过超链接的指引来告诉用户还有哪些资源状态可以进入
    -- restful
    -- 只要遵循这个REST风格 我们就叫做restful架构
    -- 规范 10条
    -- 核心思想
    -- 面向资源去编程 url尽量用名词 不要用动词
    -- 根据method不同对资源进行不同操作
    -- 在url中体现
    -- 版本
    -- api
    -- 过滤条件
    -- https
    -- 返回的要求
    -- 携带状态码
    -- 返回值
    -- get 返回查看所有数据
    -- post 返回新增的数据
    -- put/patch 返回更新这条数据
    -- delete 返回值为空
    -- 返回携带错误信息
    -- 携带超链接

  • 相关阅读:
    利用Jquery实现http长连接(LongPoll)
    使用C#把发表的时间改为几年前,几个月,几天前,几小时前,几分钟前,或几秒前
    跨域调用接口——WebClient通过get和post请求api
    Url重写——伪静态实现
    控制反转(IOC)
    文件上传之——用SWF插件实现文件异步上传和头像截取
    利用枚举展示下拉列表
    时间格式转换—将后台返回的/Date(1448954018000)/格式转换为正常的时间格式
    @RenderSection,@RenderPage,@RenderBody介绍
    简单工厂模式(转)
  • 原文地址:https://www.cnblogs.com/zxmbky/p/9955055.html
Copyright © 2011-2022 走看看