<!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. 移除数组中指定键(Yii2)

    /** * 移除数组中指定key * @param $data * @param $key * @return array */ public static function removeKey($d ...

  2. vue引入jquery插件

    在vue中使用jquery插件 1.引入jquery 第一种方法:全局引入jquery 在webpack.base.conf.js,新增以下代码 plugins: [ new webpack.opti ...

  3. scrapy中间件之随机user-agent

    import random class UserAgentMiddleware(object): def __init__(self): self.user_agent_list = [ " ...

  4. tensorflow 屏蔽 Log

    pip install alfred-py 在代码中加入 from alfred.dl.tf.common import mute_tf mute_tf()

  5. vs开发之工程属性

    1.建立工程 最好使用自己创建工程 然后把代码移过去 2.不要使用别人建立的工程直接导入(差异比较大的话),后面32位 64位 配置属性 可能造成冲突 3.冲突了 还需要重新做 上面 1

  6. grpc 学习

    RPC概念:(参考:http://www.imooc.com/article/285514) RPC(远程过程调用)一般用来实现部署在不同机器上的系统之间的方法调用,使得程序能够像访问本地系统资源一样 ...

  7. 获得 bootstrapTable行号index

    方法一: $('#table-picManager').on("click-row.bs.table",function(e,row,$element){ index=$eleme ...

  8. 微信小程序横向滚动正确姿势

    <1>xml文件 <view> <scroll-view scroll-x class="scroll-header"> <view cl ...

  9. python类库32[多进程通信Queue+Pipe+Value+Array]

    多进程通信 queue和pipe的区别: pipe用来在两个进程间通信.queue用来在多个进程间实现通信. 此两种方法为所有系统多进程通信的基本方法,几乎所有的语言都支持此两种方法. 1)Queue ...

  10. Collections 工具类和 Arrays 工具类常见方法

    Collections Collections 工具类常用方法: 排序 查找,替换操作 同步控制(不推荐,需要线程安全的集合类型时请考虑使用 JUC 包下的并发集合) 排序操作 void revers ...