vue 总结

1.vue 的生命周期 

1. es6 

2. vue 基本属性指令

<template>
  <div>
    <!--
    <h1>vue基本指令的使用方式</h1>
    <a :href="url">v-bind使用链接</a>
    <img :src="srcUrl" />
    <div>
      解决闪烁问题
      <p v-cloak>{{msg}}--</p>替换差值表达式
      <p v-text="msg">+++</p>
      <div>
        解析为html格式
        <p v-html="msg2"></p>
      </div>
      <input type="button" value="按钮" v-bind:title="myTitle" />
      <p v-for="(key,val) in users">
        {{i}}姓名:{{key.username}}
        密码:{{key.password}}{{val}}
      </p>
      <p v-for="(item,i) in arr1" :key="i">{{item}}索引值{{i}}</p>
      <div v-for="(username, password,i) in  object">username:{{username}} password{{password}}</div>
      <div v-for="(val, name,index) in  object">
        {{index}}:{{name}}:{{val}}
        <br />
      </div>
      <div v-for="i in 10">{{i}}</div>
    </div>
    <button @click="lang">点击一下</button>
    <p v-text="msg"></p>//vue属性修饰符号
    <div @click="outerHandler">
      <input type="button" @click.stop="innerHandler" value="stop" />
    </div>
    <a href="http://www.baidu.com" @click.prevent="aClick">百度一下</a>
    <div @click.capture="outerHandler">
      <input type="button" @click.self="innerHandler" value="capture" />
    </div>

    <div @click="outerHandler">
      <div @click.self="outerHandler">
        <input type="button" @click="innerHandler" value="self" />
      </div>
    </div>

    <div @click="outerHandler">
      <input type="button" @click.once="innerHandler" value="once" />
    </div>
    -->
    //vue过滤器
    <table style="width:80%;height:200px;border-collapse:collapse;border:1px solid">
      <tr style="border:1px solid;border-collapse:'collapse'">
        <td>id</td>
        <td>name</td>
        <td>age</td>
      </tr>
      <tr v-for="stu in students" style="border:1px solid;border-collapse:'collapse'">
        <td v-for="(value) in stu" style="border:1px solid">{{value}}</td>
      </tr>
    </table>
  </div>
</template>
<script>
import { mapState, mapGetters, mapActions } from "vuex";
import { setInterval } from "timers";

export default {
  data() {
    return {
      url: "http://www.baidu.com",
      imgs: null,
      msg: "123456",
      msg2: "<h1>we are very happy</h1>",
      arr1: [1, 2, 3, 4],
      myTitle: "点击一下",
      object: {
        username: "wuming",
        password: "wumingxm"
      },
      users: [
        {
          username: "wuming",
          password: "wuming"
        }
      ],
      students: [
        {
          id: 1,
          name: "zhangsan",
          age: 20
        },
        {
          id: 2,
          name: "zhaoliu",
          age: 30
        }
      ],
      srcUrl:"https://image.baidu.com/search/detail"
    };
  },
  computed: {
   
  }),
  methods: {
    getImgs() {
      var imgs = [];
      imgs.push("./assets/1.jpg");
      return imgs;
    },
    showMsg() {
      alert("mmmmmmmmmmmmmmmmmmmm");
    },
    lang() {
      setInterval(() => {
        var start = this.msg.substring(0, 1);
        var end = this.msg.substring(1);
        this.msg = end + start;
      }, 400);
    },
    innerHandler() {
      alert("inner click");
    },
    outerHandler() {
      alert("outerClick");
    }
  },
  beforeMounted() {
    this.setImgs();
    alert(imgs);
  }
};
</script>
<style type="text/css">
[v-cloak] {
  display: none;
}
</style>

2. vue 的组件

vue-route,axios,vuex,element ui,swiper,vue-echarts,vue-video-player,vue-photo-preview

(1) 引入组件

import VueRouter from 'vue-router';
import axios from 'axios';
import ElementUI from 'element-ui';

Vue.use(VueRouter);
Vue.prototype.$http = axios;
Vue.use(ElementUI);

 var url = "/api/findUserList";
      this.$axios
        .post(url)
        .then(res => {
          rowData = res.data;
        })
        .then(err => {
          alert(error);
        });

(2)vue -route index.js中配置路由

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'HelloWorld',
      component: HelloWorld
    } ]
})

父子组件传值

 <children v-bind:message="childMessage" @delibery="getChildMsg"></children><button @click="sendToParent">子组件向父组件传值</button>

export default {
  props: {
    childMessage: {
      type: String
    }
  },
  methods: {
    sendToParent() {
      this.$emit("delibery", "我是你儿子");
    }
  }

   sendToBrother() {
      alert("兄弟组件传值");
      Bus.$emit("sendToBrother", "我要给我的兄弟发消息");
    }

    created() {
    Bus.$on("sendToBrother", function(data) {
      this.brotherMsg = data;
    });
  }

(4)vue 的计算属性

computed: {

        fullName() {

                console.log("这是fullName");

                return this.firstName + this.lastName;

        }

}

(3) 配置代理 config 目录下index.js

module.exports = {
  dev: {
    assetsSubDirectory: 'static',
    assetsPublicPath: '/',
    proxyTable: {
      '/api': {
        target: 'http://localhost:8090',
        changeOrigin: true,
        pathRewrite: {
          '^/api': ''
        }
      }
    }

3.webpack 

相关推荐

  1. <span style='color:red;'>vue</span><span style='color:red;'>总结</span>

    vue总结

    2024-03-11 07:18:05      38 阅读
  2. vue面试题总结

    2024-03-11 07:18:05       57 阅读
  3. vue2知识总结

    2024-03-11 07:18:05       39 阅读
  4. Vue修饰符总结

    2024-03-11 07:18:05       39 阅读
  5. vue2 vue3 中指令总结

    2024-03-11 07:18:05       29 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-11 07:18:05       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-11 07:18:05       106 阅读
  3. 在Django里面运行非项目文件

    2024-03-11 07:18:05       87 阅读
  4. Python语言-面向对象

    2024-03-11 07:18:05       96 阅读

热门阅读

  1. vue slot 仔细研究一下

    2024-03-11 07:18:05       44 阅读
  2. SpringBoot实现 PDF 添加水印

    2024-03-11 07:18:05       41 阅读
  3. N32L40x基于串口IAP实现(含升级工具)

    2024-03-11 07:18:05       47 阅读
  4. Go微服务: 基于Go Micro框架实现微服务调用

    2024-03-11 07:18:05       41 阅读
  5. ChatGPT 基本用法!ChatGPT4的prompt的使用例子!

    2024-03-11 07:18:05       65 阅读
  6. 四大组件的工作过程

    2024-03-11 07:18:05       35 阅读
  7. vim搜索和替换

    2024-03-11 07:18:05       49 阅读