list删除元素

使用splice方法删除下标为index的元素

  1. this.splice(index, 1);

list代码循环

使用foreach

  1. res.forEach((item, key) => {
  2. console.log(item);
  3. });

使用fori

  1. for (let i = 0, len = list.length; i < len; i++) {
  2. console.log(list[i]);
  3. }

list动态添加

  1. this.lists.push({
  2. id:1,
  3. title:'abc'
  4. })

vue跳转界面

  1. this.$router.push('/home/first')
  2. this.$router.push({path: '/home/first' })
  3. this.$router.push({path: '/order/page1',query:{ id:'2'}});
  4. this.$router.push({name: '/order/page2',params:{ id:'6'}});

string转int

  1. var j = parseInt(“字符串”); //j 就是数值类型了

删除对象中某个属性

  1. this.$delete(this.form,'members')//删除form对象中的members属性

动态给对象添加属性

  1. this.$set(this.pushJson, 'alias', []);//给pushJson对象添加属性alias并赋值为空数组
  2. this.$set(this.pushJson, 'num', 1);//给pushJson对象添加属性num并赋值为1

时间转换

格林威治时间格式GMT —> 普通时间格式:

  1. function GMTToStr(time){
  2. var date = new Date(time)
  3. var Str=date.getFullYear() + '-' +
  4. (date.getMonth() + 1) + '-' +
  5. date.getDate() + ' ' +
  6. date.getHours() + ':' +
  7. date.getMinutes() + ':' +
  8. date.getSeconds()
  9. return Str
  10. }

普通时间格式 —> GMT:

  1. function StrToGMT(time){
  2. var GMT = new Date(time)
  3. return GMT
  4. }

RSA加密

  1. npm i jsencrypt
  2. import JsEncrypt from 'jsencrypt/bin/jsencrypt';
  3. let jse = new JsEncrypt();
  4. jse.setPublicKey(pubKey); // 加入rsa public key
  5. let password = jse.encrypt(password); // 将password加密

设置cookie、获取cookie

  1. //设置cookie
  2. setCookie: function (cname, cvalue, exdays) {
  3. var d = new Date();
  4. d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
  5. var expires = "expires=" + d.toUTCString();
  6. console.info(cname + "=" + cvalue + "; " + expires);
  7. document.cookie = cname + "=" + cvalue + "; " + expires;
  8. console.info(document.cookie);
  9. },
  10. //获取cookie
  11. getCookie: function (cname) {
  12. var name = cname + "=";
  13. var ca = document.cookie.split(';');
  14. console.log("获取cookie,现在循环")
  15. for (var i = 0; i < ca.length; i++) {
  16. var c = ca[i];
  17. console.log(c)
  18. while (c.charAt(0) == ' ') c = c.substring(1);
  19. if (c.indexOf(name) != -1){
  20. return c.substring(name.length, c.length);
  21. }
  22. }
  23. return "";
  24. },
  25. //清除cookie
  26. clearCookie: function () {
  27. this.setCookie("username", "", -1);
  28. },
  29. checkCookie: function () {
  30. var user = this.getCookie("username");
  31. if (user != "") {
  32. alert("Welcome again " + user);
  33. } else {
  34. user = prompt("Please enter your name:", "");
  35. if (user != "" && user != null) {
  36. this.setCookie("username", user, 365);
  37. }
  38. }
  39. }

获取当前页面的url,获取路由地址

  1. window.location.href // 完整url
  2. this.$route.params //路由路径参数 例如:/user/:id → /user/2044011030 → this.$route.params.id
  3. this.$route.path //当前路由对象的路径,如'/vi
  4. this.$route.query //请求参数,如/foo?user=1获取到user = 1
  5. this.$route.router //所属路由器以及所属组件信息
  6. this.$route.matched //数组,包含当前匹配的路径中所包含的所有片段所对应的配置参数对象。
  7. this.$route.name //当前路径名字

在vue路由器中获取所有路由

  1. $router.options.routes

axios 请求带上cookie

  1. import axios from 'axios'
  2. // 全局设置 axios 发送请求带上cookie
  3. axios.defaults.withCredentials = true

加入 withCredentials 后无法跨域

服务端要做以下2个工作:

  1. Access-Control-Allow-Origin字段必须指定域名,不能为*
  2. Access-Control-Allow-Credentials为true

    vue中用watch监听当前路由

    1. watch:{
    2. $route:{
    3. handler(newRouter){
    4. this.curTagName=newRouter.name;
    5. },
    6. immediate: true
    7. }
    8. },

    恢复数据为初始状态

    1. Object.assign(this.$data.changePassParams, this.$options.data().changePassParams)
    this.data:获取当前状态下的data,也就是要改变的data数据;
    this.options.data(): vue原始的数据,就是你页面刚加载时的 data

    this.$nextTick()的用法

    将回调延迟到下次DOM更新循环之后执行。在修改数据之后立即使用它,然后等待DOM更新。