<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="app">
<!-- //使用组件 -->
<handsome></handsome>
<component2></component2>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
// 局部组件 使用的三部曲:1、创建这个组件 2、注册这个组件 3、引用这个组件
//组件是相互独立的 不能直接跨作用域 实例也是一个组件 实例拥有生命周期函数 所以组件也拥有生命周期函数
 
let obj={school:'zfpx'};//组件共用数据的情况
 
//注意:如果组件共用了数据 会导致同时更新(不符合独立性)
//子组件不能直接使用父组件的数据(组件间的数据交互)
//组件理论上可以无限嵌套
//创建组件
let handsome={
// 自己的模板可以用自己的data
template:'<div>哈哈哈哈哈哈哈{{school}}</div>',
data(){
  return obj
}
}
let component2={
// 这里的引号问题可以用es6的模板字符串用``来包裹
// 点击自定义的标签 school的值变成hello
// 但是我们发现 由于obj这个数据是共享的 所以改变了一个的同时 下一个也会改变
// 这就不符合组件独立性的性质了
template:`<div @click="fn">组件2{{school}}</div>`,
data(){ //!!!!!注意这里的data要是函数 这里为什么data要是函数的原因 因为函数在
  return obj //调用的时候可以返回对象 由于返回的对象的地址不同 所以可以让组件独立
},
methods:{
fn(){
this.school='hello'
}
}
}
let vm=new Vue({
el:'#app',
components:{//注册这个组件
handsome:handsome,//在es6中名字一样可以写一个,
component2
},
data:{
a:1
}
})
</script>
</body>
</html>

Vue创建局部组件的更多相关文章

  1. vue中局部组件的使用

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. VUE注册局部组件

    // 局部组件命名规范 /* 1文件夹名大驼峰 MyLocalBtn.vue 2 使用的时候 将驼峰转化为横杠 <my-local-btn></my-local-btn> */ ...

  3. Vue创建全局组件

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Vue创建头部组件示例

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...

  5. vue(3)—— vue的全局组件、局部组件

    组件 vue有局部组件和全局组件,这个组件后期用的会比较多,也是非常重要的 局部组件 template与components属性结合使用挂载 其中 Vmain.Vheader.Vleft.Vconte ...

  6. Vue其他指令-组件-全局-局部-组件的交互父传子

    v-once指令 once:一旦,当...时候 <!DOCTYPE html> <html lang="zh"> <head> <meta ...

  7. Vue 中的组件

    VUE中的组件 一个自定义的标签,vue就会把他看成一个组件,vue可以给这些标签赋予一定意义:一个页面就是一个组件 好处: 1.提高开发效率 2.方便重复使用 3.便于协同开发 4.更容易被管理和维 ...

  8. vue.js 中组件的使用

    Vue中组件的使用 方式一 1.使用Vue.extend创建组件 var com1 = Vue.extend({ template: '<h3>这是使用 Vue.extend 创建的组件& ...

  9. Vue ---- 组价 组件化 子传父 父传子

    目录 补充js的for循环: 组件 1.组件的分类: 2.组件的特点 3.创建局部组件 4.全局组件 二.组件化 一.组件传参父传子 二.组件传参:子传父 补充js的for循环: // for in遍 ...

随机推荐

  1. 剑指offer-6:数值整数次方

    一.题目描述 给定一个double类型的浮点数base和int类型的整数exponent.求base的exponent次方. 二.解题思想 分类讨论,充分考虑每种可能. exponent :0,1,& ...

  2. [转载]一个支持Verilog的Vim插件——前言

    原文地址:一个支持Verilog的Vim插件--前言作者:hover 随着设计复杂度的增加,在书写代码中枯燥的重复性的劳动会越来越多.例如,例化若干个有上百个端口的子模块,这个工作没有任何创造性可言, ...

  3. VxWorks引导启动过程

    https://blog.csdn.net/phunxm/article/details/6979089

  4. jmeter使用正则表达式提取数据

    1.通过正则表达式提取到接口返回的中的某些数据.例如:success":true,"data":{"typeID":"(\w+)" ...

  5. Windows 7、Windows XP SP3关闭DEP堆栈执行保护

    Windows XP SP3 在Windows XP SP3中,关闭DEP的方法是: 编辑C:\boot.ini,你大概会看到如下内容 [boot loader] timeout=30 default ...

  6. 【10】Python urllib、编码解码、requests、多线程、多进程、unittest初探、__file__、jsonpath

    1 urllib urllib是一个标准模块,直接import就可以使用 1.1get请求 from urllib.request import urlopen url='http://www.nnz ...

  7. day_06 猜年龄游戏,三级菜单 ,求1 - 2 + 3 - 4 + 5...99的所有数的和(课后作业)

    1.猜年龄游戏: 要求: 允许用户最多尝试3次 每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序 如果猜对了,有三次选择奖励 ...

  8. JS定时循环

    <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...

  9. Vue的编译过程

      碰到是否有template选项时,会询问是否要对template进行编译: 在template编译(渲染成UI)有一个过程.模板通过编译生成AST,再由AST生成Vue的渲染函数,渲染函数结合数据 ...

  10. ansible-乱

    工作机制:ssh 无客户端 工作方式: 1,CMDB 2,公有云私有云API 3,使用ad-hoc 4,ansible-playbook ansible 执行命令,底层调用传输连接模块,将命令或文件传 ...