- 安装cnpm时报错EAI_AGAIN,
EAI_AGAIN is a DNS lookup timed out error, means it is a network connectivity error or proxy related error
. 解决办法:换网 - 老师安装cnpm包时,
npm install -g cnpm --registry=https://registry.npm.taobao.org
变为npm install --registry=https://registry.npm.taobao.org
- 先通过
vue create [文件夹名]
创建一个vue项目, 这里要注意只有选择vue2.0才能正常使用ant-design-vue, 然后通过cnpm install ant-design-vue
来引入ant-design-vue, 然后就可以引用该组件库了 - Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统
- Vue生命周期
- beforeCreate(创建前): 在数据观测和初始化事件还未开始,data、watcher、methods都还不存在,但是$route已存在,可以根据路由信息进行重定向等操作。
- created(创建后):在实例创建之后被调用,该阶段可以访问data,使用watcher、events、methods,也就是说 数据观测(data observer) 和event/watcher 事件配置 已完成。但是此时dom还没有被挂载。该阶段允许执行http请求操作。
- beforeMount(挂载前):将HTML解析生成AST节点,再根据AST节点动态生成渲染函数。相关render函数首次被调用(划重点)。
- mounted (挂载后):在挂载完成之后被调用,执行render函数生成虚拟dom,创建真实dom替换虚拟dom,并挂载到实例。可以操作dom,比如事件监听
- beforeUpdate:在vm.data更新之后,虚拟dom重新渲染之前被调用。这个钩子可以修改vm.data,并不会触发附加的冲渲染过程。
- updated:虚拟dom重新渲染后调用,若再次修改$vm.data,会再次触发beforeUpdate、updated,进入死循环。
- beforeDestroy:实例被销毁前调用,也就是说在这个阶段还是可以调用实例的。
- destroyed:实例被销毁后调用,所有的事件监听器已被移除,子实例被销毁。
- Vue在哪个生命周期阶段调用异步请求最佳?
- 异步请求在哪个阶段都可以调用,因为会先执行完生命周期的钩子函数之后,才会执行异步函数,但如果考虑用户体验方面的话,在created中调用异步请求最佳,用户就越早感知页面的已加载,毕竟越早获取数据,在mounted实例挂载的时候就越及时
- 为什么vue组件的属性,有的需要加冒号“:”,有的不用?加冒号的,说明后面的是一个变量或者表达式;没加冒号的后面就是对应的字符串字面量
- 有冒号的:v-if和无冒号的v-for, v-if要是绑定的某一个数据而不是表达式那也无冒号
- axios更换请求头的写法:
const headerThis = {
'Content-Type': 'application/json;charset=UTF-8',
'Authorization': ''
}
const instance = axios.create({
headers: headerThis
});
var keyUrl = 'http://192.168.124.108:8567/api/extract-keywords';
instance.post(keyUrl, text)
this.$http.post(keyUrl, text).then((res)=>console.log(res))
- 插槽本质上是为了动态生成HTML。 如果只是数据是动态的,用普通的数据绑定就可以, 如果不仅数据是动态的,HTML也是动态的,数据绑定就不行了,因为HTML语法会混在JS语法里面,导致语法错误。 用插槽其实就是解决这个问题。
- props: clues:{type: Array, default: ()=>{}} 注意:default就只能函数,要么就是null或是1这种
- vue用ref来像getElementById一样获取DOM
- 使用vue.set(obj, newKey, newValue)这个方法来添加数据。使用此方法添加的数据是响应式的。在本项目中是this.$set(obj, 'name', newvalue)
- 因为< keep-alive >,所以才有的activated deactivated
- 在本地通过npm run serve启动时,我们本地系统的环境变量NODE_ENV值默认是development,这时就会先后加载.env和.env.development这两个文件。而当我们打包到服务器后,服务器的NODE_ENV值一般为production,则此时Vue仍会先加载.env文件,然后加载.env.production文件。
- .env 全局默认配置文件,不论什么环境都会加载合并
- .env.development模式用于serve,开发环境
- .env.production模式用于build,线上环境
- .env.test测试环境
- 注意axios的写法:
axios.post(url, {'name': 'Alan'}, {headers: {'token': token}})
axios.get(url, {params: {name: 'Alan'}, headers: { token: token}})
[初期]Vue使用过程中的积累
发布于 2021-05-10 475 次阅读
Comments | NOTHING