资讯专栏INFORMATION COLUMN

vue学习笔记(五)

shusen / 1276人阅读

摘要:各模块各司其职,提高开发效率。使用生成的项目目录里,我们主要关注目录。这个是我们之前提到的单页面组件。这是项目的路由文件,存放项目中所有的路由。这里和我们之前所学没什么不同,不过是涉及了不少的知识。

一、vue模块化开发

所谓的模块化开发是指将不同的部分封装到不同的模块中,不再将所有的组件、路由等写在一个页面中。各模块各司其职,提高开发效率。

使用vue-cli生成的项目目录里,我们主要关注src目录。

1 . main.js文件

main.js是整个项目的入口文件,vue-cli自动生成的文件内容如下:

import Vue from "vue"      
import App from "./App"
import router from "./router"
 
Vue.config.productionTip = false   //生产环境提示,这里设置成了false,不提示
 
 /* eslint-disable no-new */
new Vue({
  el: "#app",
  router,
  template: "",
  components: { App }
})

在这里引入了路由、App组件,挂载到了根组件。

2. App.vue

这个是我们之前提到的单页面组件。


 

 

我们可以给样式加如上的属性,scoped表示该样式只在当前组件中有效,这在模块化开发中非常有效,不会干扰其他组件的样式。

3.router/index.js

这是项目的路由文件,存放项目中所有的路由。

import Vue from "vue"
import Router from "vue-router"
import Hello from "@/components/Hello"
 
Vue.use(Router)
 
export default new Router({
  routes: [
    {
      path: "/",
      name: "Hello",
      component: Hello
    }
  ]
})

这里和我们之前所学没什么不同,不过是涉及了不少ES6的知识。

二、axios模块化

官方推荐的axios不像vue-router那样成熟,目前还不能使用Vue.use()方法全局使用。

有两种解决方案:

在每个组件中引入axios

import axios form "axios"

在main.js中全局引入axios并添加到Vue原型中

Vue.prototype.axios = axios

this.axios.get()

//每个组件中引入axios
axios.get(url)
.then( res => {
    console.log(res);
})
.catch( err => {
    console.log(err);
})

//在main.js中全局引入axios并添加到Vue原型中
this.axios.get(url)
.then( res => {
    console.log(res);
})
.catch( err => {
    console.log(err);
})
三、Elment UI 1. 简介

Element UI是饿了么团队开源的一套基于Vue2.0的组件库,可以快速搭建网站,提高开发效率。

2. 快速上手

安装

在main.js中引入

在webpack中添加loader

//1. 安装elment ui
cnpm install element-ui -S

//2. 在main.js中引入
import ElementUI from "element-ui"
import "element-ui/lib/theme-default/index.css"

//3. 在webpack.base.conf.js中配置loader
CSS样式和字体图标都需要由相应的loader来加载,所以需要style-loader、css-loader、file-loader
使用less得安装:less、less-loader

关于具体的使用,在文档中都有介绍,这里不赘述。

四、 自定义全局组件(插件)

全局组件(插件):就是指可以在main.js中使用Vue.use()进行全局引入,然后在其他组件中就都可以使用了,例如vue-router

步骤:

1.创建组件(插件)

2.编写index.js

3.在main.js中引入

4.在组件中使用

//1. 创建组件(插件)
user

//2. 编写index.js文件
import user from "./user"

export default {
    install: function(Vue) {
        Vue.component("User", user);
    }
}

//3.在main.js中引入
import User from "./components/user"
Vue.use(User);

//4.在组件中使用

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/89373.html

相关文章

  • vue学习笔记

    摘要:各模块各司其职,提高开发效率。使用生成的项目目录里,我们主要关注目录。这个是我们之前提到的单页面组件。这是项目的路由文件,存放项目中所有的路由。这里和我们之前所学没什么不同,不过是涉及了不少的知识。 一、vue模块化开发 所谓的模块化开发是指将不同的部分封装到不同的模块中,不再将所有的组件、路由等写在一个页面中。各模块各司其职,提高开发效率。 使用vue-cli生成的项目目录里,我们主...

    paulquei 评论0 收藏0
  • vue3 学习笔记 ()——vue3 的 setup 如何实现响应式功能?

    摘要:示例使用暖的像火炉的暖男夏天容易化了通过就可以完全实现中的响应式功能,所以完全可以替换掉。三应用实现了数据响应式,不能使用解构,会消除响应特性。完全实现中响应式功能。setup 是用来写组合式 api ,内部的数据和方法需要通过 return 之后,模板才能使用。在之前 vue2 中,data 返回的数据,可以直接进行双向绑定使用,如果我们把 setup 中数据类型直接双向绑定,发现变量并不...

    sorra 评论0 收藏0
  • vue.js学习笔记 - 组件(二)

    摘要:当组件给其他人使用时这很有用,因为这些验证要求构成了组件的,确保其他人正确地使用组件。有特性的称为命名。例如,假定我们有一个组件,它的模板为父组件模板渲染结果为 一、注册 // 定义 var MyComponent = Vue.extend({ template: A custom component! }); // 注册 Vue.component(my-component, ...

    Betta 评论0 收藏0
  • vue.js 学习笔记(一)

    摘要:一缩写完整语法缩写完整语法缩写二缩写完整语法缩写三过滤器四条件渲染五列表渲染数组变动检测包装了被观察数组的变异方法,故它们能触发视图更新。 一、v-bind 缩写 Button Button 二、v-on 缩写 三、过滤器 {{ message | capitalize }} 四、条件渲染 v-if Yes No Sorry Not...

    gaosboy 评论0 收藏0
  • 7月份前端资源分享

    摘要:更多资源请文章转自月份前端资源分享的作用数组元素随机化排序算法实现学习笔记数组随机排序个变态题解析上个变态题解析下中的数字前端开发笔记本过目不忘正则表达式聊一聊前端存储那些事儿一键分享到各种写给刚入门的前端工程师的前后端交互指南物联网世界的 更多资源请Star:https://github.com/maidishike... 文章转自:https://github.com/jsfr...

    pingan8787 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<