vue实际项目中遇到的问题和解决方式

1、组件中绑定的变量发生变化,页面却没有变化

解决方案:

可以为组件提供一个动态key,执行完方法时,变更key,组件会刷新。

<Table
      :columns="columns"
      :data="dataList"
      :key="reload"
      border
      max-height="495"
      @on-selection-change="onSelectionChange"></table>
      
data() {
	return {
		reload: Date.now() // 绑定一个动态key
	}
}

或者调用强制刷新方法:this.$forceUpdate()

2、iview组件表单验证的时候,不走验证validate方法,也不报错。

原因分析:

这个问题排查了比较久,每次走到validate的时候,就自动结束了,也没报错,后来debugger发现,validate方法根本没进去。后来知道了,validate是Promise,异步的,表单中包含日期组件,当给日期组件绑定的变量赋值为字符串时,第一次赋值,组件会自动转换为时间对象,第二次赋值不会,依然是字符串。此时点击确定提交表单的时候,validate方法的Promise一直处于未完成(pending)的状态,所以不会再次触发。

解决方案:

日期组件需要回显日期的时候,将字符串变量转换成时间对象。

3、git拉项目,希望将项目的所有分支拉下来的方式

git clone 地址 
git branch -r | grep -v '\->' | while read remote; do git branch --track "${remote#origin/}" "$remote"; done
git fetch --all
git pull --all

4、为同等级类名,添加CSS样式

<div class="container main">div>
.containr {
	&.main {
		background-color: #fff;
	}
}

5、git常用操作

  • 拉取指定分支代码
git clone -b 分支名 项目地址
  • 提交代码的一般步骤
git pull
git add .
git commit -m "备注信息"
git push

使用可视化工具更加方便

  • 切换分支
git checkout 分支名
  • 本地创建新分支,并提交分支到远程仓库
git checkout -b 分支名
git push -u origin 分支名
  • 如果当前分支是master,将release-v1.0分支合并到master
git merge release-v1.0

6、浏览器获取url和?后的内容

window.location.href
window.location.search

7、连接服务器常用linux指令

  • 连接
ssh admin@IP地址
//切root用户
sudo su
  • 删除相关
// 删除所有文件
rm -rf *
// 删除空文件夹
rmdir 文件夹名称
// 删除某个文件
rm 文件名
  • 移动某个路径的文件到当前路径
mv 某个文件的路径 ./
  • 解压zip文件
unzip 文件名

8、vue模板中变量被冲掉的问题

尽量不要在beforeCreate中赋值变量,不然会被data中的变量默认值冲掉。

9、关于在vue中使用lodash的throttle节流方法

直接在方法中调用是没有效果的。
错误方式:

import _ from 'lodash'

export default {
	methods: {
		click() {
			_.throttle(()=>{
				console.log('hello')
			}, 1000)
		}
	}
}

正确的方式

import _ from 'lodash'

export default {
	methods: {
		click:_.throttle(function() {
			console.log('hello')
		}, 1000)
	}
}

10、希望屏蔽某个容器的现有方法

使用css3的pointer-events: none;

你可能感兴趣的:(问题记录,vue.js,前端,javascript)