一、组件

  1> 组件命名方式有两种(注意:在DOM模板中只有kebab-case命名方法才生效):

html中引用组件:
<!-- 在DOM模板中,只有 kebab-case命名才生效 -->
<my-component-name></my-component-name> script:
Vue.component('my-component-name',{
template:'<div>这是第一种命名方式:kebab-case</div>'
/* ... */
}) html中引用组件:
<my-component-name></my-component-name> script:
/* 根据大写字母隔开,my-component-name */
Vue.component('MyComponentName',{
template:'<div>这是第二种命名方式:PascalCase</div>'
/* ... */
})

  2> 全局组件与局部组件:

/*
* 全局组件可以在根组件的任何子组件中使用
*/
Vue.component('component-a',{/* ...组件相关配置... */})

/*
* 局部组件只能在当前注册的组件实例中生效,在其子组件中也不生效
*/
var componentb = { /* ...组件相关配置... */ }
var vm = new Vue({
el:'#app',  
 'component-b':componentb /* 局部注册组件 */
})

 3> 动态组件(component)

 

 4> 插槽(slot)

 

二、单文件组件

  1> 组成:单文件组件有 模板(<template></template>)、脚本(<script></script>) 与 样式(<style><style>) 组成

<!-- 这是一个单文件组件 -->
<template>
  <div>模板中只允许一个根元素,可以在这个根元素中进行编写DOM结构</div>
</template> <script>
/* export default:默认导出对象;在这里进行vue的相关选项配置与逻辑编写 */
export default{
name: 'App'
}
</script> /*
* scoped:表示样式代码只在该组件中生效
* lang='stylus':表示样式使用stylus格式进行编写css
*/
<style lang='stylus' scoped>
/* >>> 3个箭头表示修改外部样式(.样式2) */
.样式1 >>> .样式2
background:red
</style>

  2> 单文件组件的注册(局部注册):

<template>
  <div>
<!-- 引入组件 -->
<test-component> </test-component>
</div>
</template> <script>
import TestComponent from '需要引入的组件路径'
export default{
name: 'App',
components : {
TestComponent /* 与写法 TestComponent:TestComponent 一致,es6新特性 */
}
}
</script> <style lang='stylus' scoped> </style>

  

三、递归组件

Vue.js的组件(slot/动态组件等)、单文件组件、递归组件使用的更多相关文章

  1. vue.js中的slot

    vue.js 中的 slot 一.slot 的作用 调用组件的时候,对于数据,我们会用props将数据从父组件传至子组件.但是,如果从父组件到子组件,单纯是页面局部渲染的改变,slot会更合适. 二. ...

  2. Vue.js 作用域、slot用法(单个slot、具名slot)

    作用域 在介绍slot前,需要先知道一个概念:编译的作用域.比如父组件中有如下模板: <child-component> {{message}} <child-component&g ...

  3. vue单文件组件实例1:简单单文件组件

    ​ HelloWorld.vue: <template> <div class="hello"> <h1>{{msg}}</h1> ...

  4. vue.js 利用SocketCluster实现动态添加数据及排序

    直接上代码 html: <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  5. Vue.js 学习笔记 第6章 表单与v-model

    本篇目录: 6.1 基本用法 6.2 绑定值 6.3 修饰符 表单类控件承载了一个网页数据的录入与交互,本章将介绍如何使用指令v-model完成表单的数据双向绑定. 6.1 基本用法 表单控件在实际业 ...

  6. vue单文件组件实例2:简单单文件组件

    ​ Introduce.vue: <template> <div class="intro"> 单位介绍 </div> </templat ...

  7. js与jquery的动态加载脚本文件

    jquery动态加载 jQuery.getScript(url,[callback]) js动态加载 function loadJs(name) { document.write('<scrip ...

  8. Vue.js学习笔记 第七篇 表单控件绑定

    本篇主要说明表单控件的数据绑定,这次没有新的知识点 文本框 1.普通文本框 <div id="app-1"> <p><input v-model=&q ...

  9. vue.js之组件(上篇)

    本文的Demo和源代码已放到GitHub,如果您觉得本篇内容不错,请点个赞,或在GitHub上加个星星! https://github.com/zwl-jasmine95/Vue_test 以下所有知 ...

随机推荐

  1. 【LeetCode】435. Non-overlapping Intervals 解题报告(Python)

    [LeetCode]435. Non-overlapping Intervals 解题报告(Python) 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemi ...

  2. .NET+Sqlite如何支持加密

    .NET+Sqlite如何支持加密 Sqlite SQLite 来源于公共领域 SQLite Is Public Domain. 确保代码不会受到任何专有或许可内容的污染,没有任何来自互联网上的未知来 ...

  3. Regularizing Deep Networks with Semantic Data Augmentation

    目录 概 主要内容 代码 Wang Y., Huang G., Song S., Pan X., Xia Y. and Wu C. Regularizing Deep Networks with Se ...

  4. 『动善时』JMeter基础 — 61、使用JMeter监控服务器

    目录 1.监控插件安装 2.启动监控服务 3.使用JMeter监控服务器 (1)测试计划内包含的元件 (2)HTTP请求界面内容 (3)配置jp@gc-PerfMon Metrics Collecto ...

  5. Linux进程管理之基本指令

    目录 基本介绍 显示系统执行的进程 指令 ps - aux 常用选项 每行栏目的含义 查看父进程 终止进程 相关指令 实用案例 踢掉某个非法登录用户 终止远程登录服务sshd,在适当的时候再次重启ss ...

  6. 使用所学Spring知识,实现简易的图书查询系统功能。实现查询全部图书。 根据书籍编号查询信息。 根据书名查询书籍信息。 根据状态查询书籍信息。

    相关 知识 >>> 相关 练习 >>> 实现要求: 使用所学Spring知识,实现简易的图书查询系统功能. 要求如下: 查询全部图书. 根据书籍编号查询信息. 根据 ...

  7. linux rm 删除命令

    2022-01-04 1. 命令简介 Linux rm(英文全拼:remove)命令用于删除一个文件或者目录. 2. 语法及参数 2.1 语法 rm [options] name... 2.2 参数 ...

  8. WinForm应用程序的开机自启、记住密码,自动登录的实现

    一.思路: 1.开机自启,自然是需要用到注册表,我们需要把程序添加到电脑的注册表中去 2.记住密码,自动登录,开机自启,在页面的呈现我们都使用复选框按钮来呈现 3.数据持久化,不能是数据库,可以是sq ...

  9. SpringBoot集成Log4j2框架

    1.说明 本文详细介绍Spring Boot集成Log4j2框架的方法, 基于已经创建好的Spring Boot工程, 由于Spring Boot默认使用的是Logback框架, 需要先排除掉Logb ...

  10. LDAP理解要点

    1.介绍 LDAP(Lightweight Directory Access Protocol)是"轻量级目录访问协议", 是一个用于访问"目录服务器"(Dir ...