Vue 创建组件的方式
Vue 创建组件的方式
方式一
<!--1.1使用Vue.extend来创建全局的Vue组件-->
var tem1 = Vue.extend({
template:'<h3>这是使用 Vue.extend 创建的组件</h3>' //指定组件要展示的HTML结构
});
<!--1.2使用Vue.component('组件名称',创建出来的组件模板对象)-->
Vue.component('myTem1',tem1);
/*
<!--注意-->
使用 Vue.component() 定义全局组件的时候,
组件名称使用 驼峰命名,则在引用组件的时候,需要把大写改为小写,并且用 '-'将单词连接
组件名称不使用驼峰命名,则直接拿名称来使用即可
*/
<!--组合方式-->
Vue.component('myTem1',Vue.extend({
template : '<h3>这是使用 Vue.extend 创建的组件</h3>'
}))
<div id="app">
<!-- 如果要使用组件,直接把组件的名称以 HTML 标签的形式,引入到页面中-->
<my-tem1> </my-tem1>
</div>
方式二
直接使用Vue.component()
Vue.component('mycom2',{
template : '<h3>这是使用 Vue.component 创建的组件</h3>'
})
但是这样写会有一个问题:
<!--在h3标签后紧接一个span标签的话就会出问题了-->
<h3>这是使用 Vue.component 创建的组件</h3> <span>123</span>
这个问题是在 组件template属性指向的模板内容,必须有且只能有唯一的一个根元素
所以修改代码如下:
Vue.component('mycom2',{
template :
'<div>
<h3>这是使用 Vue.component 创建的组件</h3> <span>123</span>
</div>'
})
运行结果如下:
不过这种方式也有一个瑕疵,就是template 属性的值是HTML标签,而在软件中,并没有智能提示,容易出错,若使用这种方式,需要仔细,避免出错
方式三
<!--1.定义组件:-->
Vue.component('mycom3',{
template : '#tem1'
});
<!--2.在被控制的 #app 外面使用 template 元素,定义组建的HTML模板结构-->
<div id="app">
<!--3. 引用组件 -->
<mycom3></mycom3>
</div>
<template id="tem1">
<div>
<h1>这是 template 元素</h1>
<span>这种方式好用</span>
</div>
</template>
运行结果如下:
这是Vue创建组件(全局)的3种方式,其实相差不多,希望对大家有所帮助
Vue 创建组件的方式的更多相关文章
- vue创建组件的方式
一.直接通过Vue.extend的方式创建组件 // 通过vue.extend 来创建全局组件 var com1 = Vue.extend({ template:'<h3>这是h3组件&l ...
- vue创建组件的几种方法
<html> <head> <title>vue创建组件</title> <meta charset="utf-8"> ...
- vue创建组件
vue创建组件是很容易的: js: Vue.component("component-item",{ //component-item就是我们在HTML页面上引用的组件,它会在 ...
- Vue创建组件的三种方式
1.使用 Vue.extend 来创建全局的Vue组件 <div id="app"> <!-- 如果要使用组件,直接,把组件的名称,以 HTML 标签的形式,引入 ...
- Vue 创建组件的两种方法
地址:https://blog.csdn.net/cofecode/article/details/74634301 创建组件的两种方法 1.全局注册 2.局部注册 var child=Vue.ext ...
- vue中组件传值方式汇总
在应用复杂时,推荐使用vue官网推荐的vuex,以下讨论简单SPA中的组件间传值. 一.路由传值 路由对象如下图所示: 在跳转页面的时候,在js代码中的操作如下,在标签中使用<router-li ...
- react创建组件的几种方式及其区别
react创建组件有如下几种方式 ①.函数式定义的无状态组件 ②.es5原生方式React.createClass定义的组件 ③.es6形式的extends React.Component定义的组 ...
- React创建组件的三种方式及其区别
内容转载于http://www.cnblogs.com/wonyun/p/5930333.html React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归; 具体的三种方式: ...
- 301-React Ext-React创建组件的三种方式及其区别
一.概述 React推出后,出于不同的原因先后出现三种定义react组件的方式,殊途同归:具体的三种方式: 函数式定义的无状态组件 es5原生方式React.createClass定义的组件 es6形 ...
随机推荐
- SPOJ.104.Highways([模板]Matrix Tree定理 生成树计数)
题目链接 \(Description\) 一个国家有1~n座城市,其中一些城市之间可以修建高速公路(无自环和重边). 求有多少种方案,选择修建一些高速公路,组成一个交通网络,使得任意两座城市之间恰好只 ...
- BZOJ2319 : 黑白棋游戏
将01串按1分段,那么分析可得长度为$a$的段拼上长度为$b$的段的SG值为$a-[a\leq b]$. 设$f[i][j][k][l]$表示从后往前用了$i$个1,$j$个0,当前段长度为$k$,后 ...
- python网络编程(七)
应用:模拟QQ聊天 客户端参考代码 #coding=utf-8 from socket import * # 创建socket tcpClientSocket = socket(AF_INET, SO ...
- git常用命令2--- git rebase
git rebase:简单而言就是把某个分支上的提交commit嫁接到另一个commit的后面,在这个过程中这些commit的base相对就改变了,也就叫变基. git rebase <upst ...
- fatal: You are not currently on a branch. 问题解决
fatal: You are not currently on a branch. 解决 注:亲试,这种方法会把本地的修改给冲掉,所以事先一定要备份下文档,之后覆盖,重新上传或pull即可:解决方法: ...
- html标题-段落-字符实体-换行
Html标题标签: <h1>.<h2>.<h3>.<h4>.<h5>.<h6>标签可以在网页上定义6种级别的标题,这6种级别的标 ...
- GMA Round 1 数列求单项
传送门 数列求单项 在数列{$a_n$}中,$a_1=-\frac{1}{4}$,$\frac{1}{a_{n+1}}+\frac{1}{a_n}=\begin{cases}-3(n为偶数)\\3(n ...
- pygame-KidsCanCode系列jumpy-part10-角色动画(上)
上一节学习如何利用spritesheet加载图片,但是player仍然是一张静态的图片,比较枯燥,我们要让它动起来! Player类,先把各种状态的图片加载起来: # 加载各种状态的图片序列 def ...
- pygame 笔记-1 按键控制方块移动
背景:家里的娃慢慢长大了,准备教一些儿童入门的编程知识,研究了一阵麻省理工的scratch 2 虽然不错,但是功能有限,很多高级点的东西玩不出来.所以就有了这一系列,先提前自学一下,顺便拿来练手pyt ...
- xhprof 运行结果名词解释
Overall Summary Inclusive Time (或子树时间):包括子函数所有执行时间. Exclusive Time/Self Time:函数执行本身花费的时间,不包括子树执行时间. ...