1、组件的定义

const component = {
  props: {  //外部父组件约束子组件的 里面不要修改 可以通过触发事件来修改
    active: Boolean,
    propOne: String,
    onChange: Function
  },
  template: '<div @click="handleChange">this is component <span>{{propOne}}</span> <span v-show="active">see me if active</span></div>',
  data: function () {  //用function 避免下面问题
    return {    //return 这个对象不能是全局的不然重复使用会修改全局的text
      text: 123
    }
  },
  methods: {
    handleChange: function () {
      this.onChange() //调用props上的onChange this.$emit('change') <comp-one :prop-one="prop" @change="handler"></comp-one>
    }
  }
}
new Vue({  //new vue 就是一个组件
template: '<div>123 <comp-one :prop-one="prop" :on-change="handler"></comp-one> <comp-one :active="true"></comp-one></div>',
el: '#app',
data: {
  prop: 'text1'
},
methods: {
  handler: function () {
    this.prop = 'text2'
  }
},
components: {  //注册vue实例下的组件
  CompOne: component
}
})
 
 
//Vue.component('CompOne',component)  ////全局注册组件 
 
 
2、extend
 
const CompVue = Vue.extend(component)
new CompVue({
  el:'#root'
})
 
this.$parent  可以修改父组件的data里面的东西
 
3、插槽
 
const component = {
  template: '<div :style="style"><div class="header"><slot name="header"></slot></div>this is component</div>',
  data: function () { 
    return { 
      style: {
        width:"200px",
        height:"200px",
        border:"1px solid #aaa"
      }
    }
  }
}
 
 
new Vue({
  components:{
    CompOne:component
  },
  template:'
    <div><comp-one><span slot="header"></span></comp-one></div>
  '
})

vue组件知识点的更多相关文章

  1. JS组件系列——又一款MVVM组件:Vue(二:构建自己的Vue组件)

    前言:转眼距离上篇 JS组件系列——又一款MVVM组件:Vue(一:30分钟搞定前端增删改查) 已有好几个月了,今天打算将它捡起来,发现好久不用,Vue相关技术点都生疏不少.经过这几个月的时间,Vue ...

  2. 【Vue】详解Vue组件系统

    Vue渲染的两大基础方式 new 一个Vue的实例 这个我们一般会使用在挂载根节点这一初始化操作上: new Vue({ el: '#app' }) 注册组件并使用—— 全局注册 通过Vue.comp ...

  3. vue组件如何被其他项目引用

    自己写的vue组件怎么才能让其他人引用呢,或者是共用组件如何让其他项目引用.本文就粗细的介绍下,如有疑问欢迎共同讨论.在这里你能了解下如下知识点: 1. 如何发布一个包到npmjs仓库上 2.如何引用 ...

  4. Vue (表单、斗篷、条件、循环指令,分隔符成员、计算属性成员、属性的监听、vue组件、子组件、各个常见的钩子函数)

    表单指令 <!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF- ...

  5. 来吧!一文彻底搞定Vue组件!

    作者 | Jeskson 来源 | 达达前端小酒馆 Vue组件的概述 组件是什么呢,了解组件对象的分析,Vue组件中的data属性,props传递数据的原理到底是什么. 事件通信的那些事 如何了解父子 ...

  6. 二、Vue组件(component):组件的相互引用、通过props实现父子组件互传值

    一.组件各部分说明及互相引用 1.一个vue组件由三个部分组成 Template 只能存在一个根元素 2.Script 3.Style scoped:样式只在当前组件内生效 1.1 组件的基本引用代码 ...

  7. vue API 知识点(2)---选项总结

    一.选项 / 数据 1.data 当一个组件被定义,data 必须声明为返回一个初始数据对象的函数,因为组件可能被用来创建多个实例,如果 data 仍然是一个纯碎的对象,则所有的实例将被共享引用同一个 ...

  8. vue组件

    分享出来让思路更成熟. 首先组件是 Vue.js 最强大的功能之一. 可以减少很多的工作量,提高工作效率. 编写一个可复用性的组件,虽然官网上也有.... 编写可复用性的vue组件 具备一下的几个要求 ...

  9. vue组件的配置属性

    vue组件的声明语法: Vue.component('component-name',{ template:'<p>段落{{prop1}} {{prop2}}</p>', da ...

随机推荐

  1. Vue学习记录(一)

    一.引入js文件(直接采用CDN): http://cdnjs.cloudflare.com/ajax/libs/vue/1.0.26/vue.min.js 二.简单实例: (1)HTML代码: &l ...

  2. DIV左、右布局

    1.右边宽度固定,左边自适应 第一种(flex布局,不兼容IE9以下浏览器): <style> body { display: flex; } .left { background-col ...

  3. 500 Internal Privoxy Error

    打开网站突然发现网站无法打开了,一脸懵逼,服务器重启也不行,明明能ping通,网上查的答案千奇百怪的 500 Internal Privoxy Error Privoxy encountered an ...

  4. c# 测试运行时间毫秒级

    , , , , , , )).Ticks) / ; /*代码*/ , , , , , , )).Ticks) / ; MessageBox.Show((currentMillis1 - current ...

  5. WPF Stake

    WPF中的StackPanel.WrapPanel.DockPanel 转:http://blog.sina.com.cn/s/blog_6c81891701017a34.html StackPane ...

  6. 定位到行的快捷键iOS

    1. 文件 CMD + N: 新文件CMD + SHIFT + N: 新项目CMD + O: 打开CMD + S: 保存CMD + SHIFT + S: 另存为CMD + W: 关闭窗口CMD + S ...

  7. 通俗理解caller和callee

    caller 返回一个调用当前函数的引用: callee 返回一个正在被执行函数的引用: 举个例子: 当前有函数 a() 直接使用了caller 方法: b() 直接使用了callee方法: ca() ...

  8. python学习笔记_week9

    一.paramiko模块 SSHClient,用于连接远程服务器并执行基本命令 基于用户名密码连接: ssh执行命令:stdin,stdout,sterr:标准输入.输出.错误 import para ...

  9. Python学习笔记_week2_列表、元组、字典、字符串、文件、i编码

    一. 列表.元组 names=["A","B","C","D"] print(names) print(names[0] ...

  10. 1. 怎么设置可以使得虚拟机里面既可以访问主机也可以访问局域网而且是静态ip

    方法1: Bridged方式(桥接): (1). 虚拟机网络适配器设置为桥接 (2). 主机设置静态ip (3). 虚拟机也设置静态ip且和宿主机在同一网段 Bridged方式: 在图1中Networ ...