Vue2.0 【第二季】第2节 Vue.extend构造器的延伸


一、什么是Vue.extend

Vue.extend 返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue实例构造器。经常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元素时,会自动调用“扩展实例构造器”来生产组件实例,并挂载到自定义元素上。

由于我们还没有学习Vue的自定义组件,所以我们先看跟组件无关的用途。

二、自定义无参数标签

我们想象一个需求,需求是这样的,要在博客页面多处显示作者的网名,并在网名上直接有链接地址。我们希望在html中只需要写,这和自定义组件很像,但是他没有传递任何参数,只是个静态标签。

html代码:

<author></author>

js代码:我们的Vue.extend该登场了,我们先用它来编写一个扩展实例构造器。代码如下:

var authorURL = Vue.extend({
template:"<p><a :href='authorURL'>{{authorName}}</a></p>",
data:function(){
return{
authorName:'da0sy',
authorURL:"https://www.cnblogs.com/Elva3zora/"
}
}
}); //这时html中的标签还是不起作用的,因为扩展实例构造器是需要挂载的,我们再进行一次挂载。
new authorURL().$mount("author"); //这时我们在html写<author></author>就是管用的。

我们看一下全部代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="../assets/js/vue.js"></script>
<title>vue.extend-扩展实例构造器</title>
</head>
<body>
<h1>vue.extend-扩展实例构造器</h1>
<hr>
<author></author> <script type="text/javascript">
var authorExtend = Vue.extend({
template:"<p><a :href='authorUrl'>{{authorName}}</a></p>",
data:function(){
return{
authorName:'JSPang',
authorUrl:'http://www.jspang.com'
}
}
});
new authorExtend().$mount('author');
</script>
</body>
</html>

浏览器效果:

点击链接链接到我们的地址:

三、挂载到普通标签上

组件使用以上方式,但如果真的要使用扩展实例构造器,建议通过HTML标签上的id或者class来生成扩展实例构造器,Vue.extend里的代码是一样的,只是在挂载的时候,我们用类似jquery的选择器的方法,来进行挂载就可以了。

html代码:

<div id="author"></div>

相应的js代码改为:

new authorURL().$mount("#author");

PS:今天学到的快捷键:SHIFT+WINDOE键+下 可以快速小化窗口至任务栏

最新文章

  1. 无需编译、快速生成 Vue 风格的文档网站
  2. &quot;undefined method `root&#39; for nil:NilClass&quot; error when using &quot;pod install&quot; 解决办法
  3. addClass() 和 toggleClass()
  4. OC面向对象及继承
  5. springMVC+JAP整合彻底摆脱persistence.xml配置文件
  6. 20分钟入门Redux
  7. GetClientRect
  8. CATranstion动画
  9. C#实现二分法查找算法
  10. Java日志框架(Commons-logging,SLF4j,Log4j,Logback)
  11. hadoop 2.7.3伪分布式安装
  12. Apache 的知识点
  13. vue-tree
  14. Emmet快速编写HTML代码
  15. em和px的区别一次彻底搞清楚!
  16. Shr-前端汇总
  17. JAVA中List&lt;Long&gt; 转long[]的方法
  18. 使用FluentValidation来进行数据有效性验证
  19. $用python处理Excel文档(2)——用xlsxwriter模块写xls/xlsx文档
  20. linux命令-stty

热门文章

  1. 吴裕雄--天生自然Android开发学习:android 背景相关与系统架构分析
  2. vue面试总结
  3. pycharm中无法导入pip安装的包
  4. python实现经典冒泡算法
  5. Java POI导出Excel不弹框选择下载路径(下载文件不选择下载路径,默认) Chrome
  6. ContentType明细对照表(文件类型相关的设置)
  7. 自然语言分析工具Hanlp依存文法分析python使用总结(附带依存关系英文简写的中文解释)
  8. for循环的应用
  9. Android Pay正式启用 支付宝们还好吗
  10. 从 ListView 到 RecyclerView 的用法浅析