Vue写github搜索案例

1.首先引入bootstrap.css

这里有个需要注意的点,CSS可以通过import在vue中引入,也可以通过Link在public的index.html中引入,但在vue文件中通过import引入会产生问题,因为css中可能会缺少部分字体,路径不对等问题,vue在通过import引入时会进行严格的检查,所以会报错,但通过link在index.html中引入则不会报错。

具体引入代码如下:

<!-- 引入第三方样式 -->
<link rel="stylesheet" href="<%= BASE_URL %>css/bootstrap.css">
<!-- 配置网页标题 -->

这里顺便写一下在vue文件中引入css文件

import 'element-ui/lib/theme-default/index.css'

2.进行组件拆分并编写功能代码

中间遇到的新知识记录:
1.ES6模板字符串
由于拼接字符串需要用很多加号很麻烦,所以es6中采用了模板字符去代替。
ES6中提供了模版字符串,用`(反引号)标识,用${}将变量括起来。

searchUsers() {
		//这里的链接就是采用了模板字符串,拼接变量名
        axios.get(`https://api.github.com/search/users?q=${this.keyWord}`).then(
            Response => {
              console.log('请求成功了',Response.data)
            },
            Error => {
              console.log('请求失败了',Error.message)
            }
        )
      }

2.用到全局事件总线
在main.js中的new Vue中绑定全局事件总线

//绑定全局事件总线
beforeCreate() {
	Vue.prototype.$bus = this
},

//子组件发送数据
this.bus.$emit(“change”,data)

//子组件接收数据
this.bus.$on(“change”,(data) => {

})

3.es6中通过字面量的形式去合并对象
比较两个对象里面的元素不同处,元素名相同值不同更新值,然后元素之间取并集

this.info = {...this.info,...dataObj}

比如这里this.info里面的数据,dataObj也有就更新,如果dataObj没有,则保留!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值