前端培训-中级阶段(37)- Vue2.x单文件组件

简介: 前端最基础的就是 HTML+CSS+Javascript。掌握了这三门技术就算入门,但也仅仅是入门,现在前端开发的定义已经远远不止这些。前端小课堂(HTML/CSS/JS),本着提升技术水平,打牢基础知识的中心思想,我们开课啦(每周四)。上一节我们说了 vue 2.x 组件定义和使用、组件间的通信,这节我们来说说如果使用单文件组件。

什么是单文件组件?



我们之前使用的是全局引用、全局定义的方式。

  1. script 引入一个资源,然后全局绑定一个变量。比如 jQuery


  1. 然后我们用引入的资源操作。


因为这样使用有一些弊端,然后出现了模块化。


而单文件组件可以理解为 Vue 的模块化使用,他解决了一下问题。

  • 全局定义 (Global definitions) 强制要求每个 component 中的命名不得重复


  • 字符串模板 (String templates) 缺乏语法高亮,在 HTML 有多行的时候,需要用到丑陋的 \


  • 不支持 CSS (No CSS support) 意味着当 HTML 和 JavaScript 组件化时,CSS 明显被遗漏


  • 没有构建步骤 (No build step) 限制只能使用 HTML 和 ES5 JavaScript,而不能使用预处理器,如 Pug (formerly Jade) 和 Babel


单文件组件的定义及使用


单文件组件的后缀名为 .vue,我们一般通过 webpack 来构建。


一直有个概念页面为 结构层(模板 html)、逻辑层(数据 逻辑 js)、表现层(样式 css),正好这个在 Vue 的单文件组件中得到了良好的实现。


相比 js 和 css 分家的组件来说。这样的单文件组件我感觉更香呀。


<template>
    <div>这里是我们的模板定义的地方。注意只能有一个根节点呀</div>
</template>
<script>
// 这里是我们组件的数据部分。
// 这里不需要template,构建的时候会自动解析上面的模板
// 这里需要 export default 或者 module.exports ,因为这样才可以传递出去。
export default {
}
</script>
<style scoped>
 /***
  * 这里可以放我们的css,然编译之后可以抽离出去。
  * scoped 是让css 只在当前组件生效
 /
</style>


1460000010360379.png


如何使用


  1. webpack


  1. vue-loader

当然,vue 也有 Vue-CLI 工具。通过它我们可以很快的跑起我们的页面。

相关文章
|
4天前
|
前端开发 JavaScript 安全
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
在vue前端开发中基于refreshToken和axios拦截器实现token的无感刷新
28 4
|
5天前
|
JavaScript API
vue 批量自动引入并注册组件或路由等等
【10月更文挑战第12天】 vue 批量自动引入并注册组件或路由等等
|
5天前
|
JavaScript 前端开发 API
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
vue3中常用插件的使用方法:按需引入自定义组件,自动导入依赖包,自动生成路由,自动生成模拟数据
91 0
|
5天前
|
前端开发 JavaScript
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
CSS样式穿透技巧:利用scoped与deep实现前端组件样式隔离与穿透
37 1
|
5天前
|
JavaScript
vue 组件中的 data 为什么是一个函数 ?
【10月更文挑战第8天】 在 Vue 组件中,`data` 被定义为一个函数而非普通对象,以确保每个组件实例拥有独立的数据空间,避免数据混乱。这种方式还支持数据的响应式更新、组件的继承与扩展,并有助于避免潜在问题,提升应用的可靠性和性能。
13 2
|
5天前
|
JavaScript 前端开发 UED
Vue 组件设计:构建生动多彩的树形结构组件
本文介绍了如何使用 Vue 构建一个功能强大的树形结构组件。该组件支持递归渲染节点及其子节点,提供了自定义节点颜色、文本和布局的功能。通过独特的样式处理不同层级的节点,展示出丰富的视觉效果。组件还支持动态布局和缩放,确保灵活的界面展示和用户体验。文章提供了详细的代码实现,包括 HTML、JavaScript 和 SCSS,帮助开发者快速集成和定制自己的树形结构组件。
27 0
Vue 组件设计:构建生动多彩的树形结构组件
|
7天前
|
JavaScript 搜索推荐
Vue 插槽全攻略:重塑组件灵活性
【10月更文挑战第7天】 Vue 的插槽(Slots)是一个强大的特性,用于增强组件的灵活性和可扩展性。插槽允许父组件向子组件传递内容,实现组件的复用和个性化展示。主要包括默认插槽、具名插槽和作用域插槽三种类型,分别适用于不同场景。通过插槽,可以提高组件的复用性、实现灵活的布局,并促进团队协作。
16 1
|
8天前
|
前端开发 JavaScript 开发者
Web组件:一种新的前端开发范式
【10月更文挑战第9天】Web组件:一种新的前端开发范式
11 2
|
7天前
|
JavaScript
vue 函数化组件
【10月更文挑战第1天】 Vue.js 的函数化组件通过设置 `functional: true`,使其无状态和无实例,从而减少渲染开销。通过 `render` 函数的 `context` 参数传递数据。示例中,`smart-item` 组件根据 `data.type` 动态选择并渲染 `ImgItem`、`VideoItem` 或 `TextItem` 组件。根实例 `app` 通过按钮切换不同类型的组件数据。函数化组件适用于程序化选择组件和操作传递数据的场景。
|
9天前
|
JavaScript 前端开发 Java
VUE学习四:前端模块化,ES6和ES5如何实现模块化
这篇文章介绍了前端模块化的概念,以及如何在ES6和ES5中实现模块化,包括ES6模块化的基本用法、默认导出与混合导出、重命名export和import,以及ES6之前如何通过函数闭包和CommonJS规范实现模块化。
28 0
VUE学习四:前端模块化,ES6和ES5如何实现模块化