先来看一个简单的实例:
html
<div id="component">
<my-component></my-component>
</div>
js
创建模板
var MyComponent = Vue.extend({
template: '<div>A good idea!</div>'
});
//注册一下 就是申明 绑定一下
Vue.component('my-component',MyComponent);
//创建实例 就是绑定到父级 div#component
new Vue({
el: '#component'
});
接着看 内部注册一个模板: 内部模板只能使用在父级的模板内(即:template 的字符串中) 下面代码 ****** 标注
html
<div id="ex000">
<my-component msg="hello"></my-component>
</div>
js
//局部注册
var show = Vue.extend({
template: '<div>sssssssssssssssssssssssssssssssssss</div>'
});
//全局注册
//定义
var showss = Vue.extend({
//模板
template: '<div>{{ msg }} {{ privateMsg }} <show-s></show-s></div>', // ******
//参数
//props: {
// msg: ''
//},
props: ['msg'],
//数据
data: function () {
return {
privateMsg: '2222222222222'
}
},
//内部的模板 使用components 进行扩展及调用
components: {
//连接内部模板 调用局部模板:show
'show-s': show
}
});
//注册
Vue.component('my-component', showss);
//创建实例
var ex000 = new Vue({
el: '#ex000'
});
效果:
再来看看 父级与子级间的通讯
html
<div id="demo-2">
<input v-model="parentMsg">
<br>
<child v-bind:my-message="parentMsg"></child>
</div>
js
var child = Vue.extend({
props: ['myMessage'],
template: '<span>{{myMessage}}</span>'
});
new Vue({
el: '#demo-2',
data: {
parentMsg: 'Message from parent'
},
components: {
//不带引号('child')则是注册的是子级 可以在页面直接使用 带引号则是内部注册 只能在内部的template中使用
child: child
}
});
//components还可以这么写
components: {
child: {
props: { // or props: ['myMessage']
'myMessage': ''
}
template: '<span>{{ myMessage }}</span>'
}
}
效果:
自定义 :
html
<!-- 子组件模板 -->
<template id="child-template">
<input v-model="msg">
<button v-on:click="notify">Dispatch Event</button>
</template>
<!-- 父组件模板 -->
<div id="events-example">
<p>Messages: {{ messages | json }}</p>
<child></child>
// <child v-on:child-msg="handleIt"></child>
</div>
js
// 注册子组件
// 将当前消息派发出去
Vue.component('child', {
template: '#child-template',
data: function () {
return { msg: 'hello' }
},
methods: {
notify: function () {
if (this.msg.trim()) {
this.$dispatch('child-msg', this.msg); // 触发child-msg事件
this.msg = '';
}
}
}
});
// 启动父组件
// 将收到消息时将事件推入一个数组
var parent = new Vue({
el: '#events-example',
data: {
messages: []
},
// 在创建实例时 `events` 选项简单地调用 `$on`
events: {
'child-msg': function (msg) { // 监听到 child-msg事件
// 事件回调内的 `this` 自动绑定到注册它的实例上
this.messages.push(msg); // messages改变自动修改html内容
}
}
});
效果:
- 大小: 2.5 KB
- 大小: 8.3 KB
- 大小: 18.3 KB
分享到:
相关推荐
Vue.js和Vue.min.js是两种版本的同一款前端JavaScript框架——Vue.js的实现。Vue.js由尤雨溪(Evan You)开发,旨在为构建用户界面提供简洁、易用且可扩展的工具。这两个文件在功能上是相同的,但它们在实际应用中...
Vue.js 是一款轻量级的前端JavaScript框架,由尤雨溪开发并维护,以其易学易用、高性能、灵活的组件系统以及强大的生态系统而受到广大开发者喜爱。本资源"Vue.js前端开发实战-源代码.zip"是针对Vue.js的学习资料,...
Vue.js是一款轻量级的JavaScript库,以其易学易用、灵活性高和组件化特性受到开发者喜爱。Node.js则基于Chrome V8引擎,允许开发者使用JavaScript进行服务器端编程,实现了全栈JavaScript开发的可能性。 Vue.js的两...
在这个“网页模板——Vue.js圆形CSS3颜色渐变色拾取器”项目中,我们可以深入探讨Vue.js如何与CSS3技术结合,创建一个动态的颜色选择工具。 首先,Vue.js的核心在于其响应式数据绑定系统。通过使用`v-model`指令,...
在Vue.js框架中,组件之间的通信是一个非常关键的部分。组件通信机制允许我们在不同的组件之间传递数据和事件,从而使得组件能够相互协作和交互。本文将详细介绍Vue.js中实现组件间通信的几种方法,并对相关的知识点...
Vue.js 是一款流行的前端JavaScript框架,它以简洁的API、高效的数据绑定和组件化开发而闻名。在IntelliJ IDEA(简称Idea)这个强大的Java IDE中,Vue.js的开发支持可以通过安装Vue.js插件来实现。然而,在线安装Vue...
【标题】中的“网页模板——基于vue.js框架制作图片上传组件特效源码”是指一个使用Vue.js前端框架开发的图片上传组件的代码实现。Vue.js是目前非常流行的JavaScript框架,它以其轻量级、易学易用和强大的功能著称。...
Vue.js是一种流行的前端JavaScript框架,由尤雨溪开发,它以数据驱动和组件化的核心理念,简化了网页应用的开发。在这个"网页模板——vue.js实现的单排卡片滚动切换特效代码"中,我们主要会探讨如何利用Vue.js来创建...
本资源“网页模板——基于vue.js实现树状菜单组件代码”则聚焦于如何利用Vue.js来创建一个可交互的树状菜单组件。这个组件在网页应用中十分常见,例如在文件管理系统、组织结构展示或层级数据的展示等方面都有广泛...
此外,通过学习和分析这个项目,你可以深入理解Vue的响应式系统、组件通信以及如何与CSS和JavaScript结合来创建复杂的交互式Web应用。这是一个很好的实践项目,可以帮助你提升Vue.js开发技能,并对冒泡排序这一经典...
Vue.js 是一款轻量级的前端JavaScript框架,以其易学易用、高性能和灵活的组件化特性而受到广大开发者的青睐。在这个“vue.js 简单的组件和点击事件应用”的主题中,我们将深入探讨Vue.js的核心概念——组件以及如何...
Vue.js是一种流行的JavaScript框架,用于构建用户界面,尤其在单页面应用程序(SPA)开发中广泛应用。这个"网页模板——vue.js图标列表分页实例特效源码.zip"压缩包包含了一个基于Vue.js的网页模板,该模板展示了一...
Vue.js 是一款流行的前端JavaScript框架,它以组件化、易用性和高性能著称。在给定的标题"vueslider一个轻量的vue滑动组件"中,我们讨论的是一个基于Vue.js的滑动组件——vue-slider。这个组件设计的目标是提供一个...
Vue.js是一种轻量级的前端JavaScript框架,以其易学易用、组件化开发和高性能的特点在Web开发领域受到广泛欢迎。这款"网页模板——基于vue.js自适应蛇形曲线数据效果源码"提供了实现动态、自适应的蛇形曲线数据展示...
### 剖析 Vue.js 内部运行机制 #### 全局概览 Vue.js 是一个流行的前端框架,用于构建用户界面。它以其简洁的 API 和高性能而闻名。...理解这些核心概念对于深入学习 Vue.js 以及优化应用程序性能至关重要。
Vue.js是一种流行的前端JavaScript框架,用于构建用户界面。在网页模板开发中,Vue.js因其轻量级、组件化和易学性而广受欢迎。"网页模板——vue.js项目评估流程结构图形特效代码.zip"这个压缩包文件很可能包含了使用...
下面,我们将详细探讨其技术栈中的核心组件——Python、Django框架以及Vue.js,以及它们如何协同工作以实现系统的功能。 首先,Python作为后台开发语言,以其简洁、易读的语法和丰富的第三方库深受开发者喜爱。在...
另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。 Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。 Vue.js 自身不是一个全能框架——它只聚焦于视...
### Vue.js组件系统 Vue.js 鼓励采用组件化的开发模式。组件可以复用,使得代码更加模块化和可维护。一个Vue应用由许多相互嵌套的组件构成,每个组件负责页面上的一个局部或者片段。 ### Vue CLI Vue CLI 是一个...
内容概要:本文提供了基于Vue.js和Bootstrap技术栈的详细组件开发示例——一个简单易懂的待办事项(Todo List)应用教程。该教程涵盖创建可操作的任务项列表、组件化构造与管理前端逻辑的核心流程,并介绍了相关的...