从零单排系列之写一个类vue框架(一)
栏目: JavaScript · 发布时间: 6年前
内容简介:因为我希望这是一个系列的文章,所以开始之前先简单说一下,我几乎没用过vue这个框架写过项目,所以文章中难免会有一些比较外行的说法。当然,我用过一些时间的angular,也曾经解决过一些同行们vue方面的问题。所以如果有人原因看的话,也不用担心我过于外行。就像前些日子看到
因为我希望这是一个系列的文章,所以开始之前先简单说一下,我几乎没用过vue这个框架写过项目,所以文章中难免会有一些比较外行的说法。当然,我用过一些时间的angular,也曾经解决过一些同行们vue方面的问题。所以如果有人原因看的话,也不用担心我过于外行。
就像前些日子看到 阮一峰老师
说的话,我觉得老师这里真的说出了很多技术人员的心声,这里借用一下。
“我的技术文章,主要用来整理我还不懂的知识。我只写那些我还没有完全掌握的东西,那些我精通的东西,往往没有动力写。炫耀从来不是我的动机,好奇才是。”
言归正传,我准备了一本书,里面由浅入深地介绍了vue的用法(听人说的,我边看边写)。
先整理vue用法,然后再整理自己的框架。
最基本用法
<div id='app'>
{{title}}
</div>
<script>
var app = new Vue({
el: '#app',
data: {
title: 'Hello World'
}
})
</script>
简单分析一下,{{}} 用来声明这是一个model,然后在js中定义这个model
因为涉及到正则以及dom树的一些解析及递归等,我先写点简单点的,不然看的人都跑了。
<script>
function Vue(obj) {
var app = document.querySelector(obj.el);
for(let i in obj.data) {
this[i] = obj.data[i];
}
var html = app.childNodes;
var that = this;
html.forEach(function(data) {
if(data.nodeName == '#text') {
data.data = data.data.replace(/\{\{([\s\S]+)\}\}/g, function(a, b){return that[b]})
}
})
}
</script>
<div id='app'>
这里是{{title}}
</div>
<script>
var app = new Vue({
el: '#app',
data: {
title: 'Hello World'
}
})
</script>
这段代码应该可以勉强应付上面的vue语句,当然vue肯定不会是这么实现的,因为这是一次性的。明天换个es6版本的写法。今天就先写到这里吧。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 从零单排系列之写一个类vue框架(二)
- 从零单排Java 8(2) —— Timestamp、String互转
- 从零单排Java 8(3) —— List结合Lambdas对排序的高级用法
- 基于Google MVVM框架的baseMVVM框架
- Spring 框架是怎么出生的(二):重构提炼出框架
- Spring 框架是怎么出生的(二):重构提炼出框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Internet与WWW程序设计教程(第三版)
戴特尔 / 电子工业出版社 / 2005-8 / 95.00元
《Internet与WWW程序设计教程》(第3版)以大量生动、实用的示例讲述了如何编写多层的、客户/服务器的、数据密集的、基于Web的应用程序,介绍了如何使用XHTML、JavaScript、DHTML、Flash和XML建立客户端应用程序,也介绍了如何使用Web服务器(IIS、PWS和Apache)、数据库(SQL、MySQL、DBI和ADO)、ASP、Perl、CGI、Python、PHP、J......一起来看看 《Internet与WWW程序设计教程(第三版)》 这本书的介绍吧!