vue-ng

打开vue的中文官网一段关于vue的描述

HTML 模板 + JSON 数据,再创建一个 Vue 实例,就这么简单。

那我么再看下angular中文网

AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。

看到这两句引用,心中是否顿时有种感觉,感觉vue会简单易学,angular难学。其实,你是对的,相对来说,如果我们是jqueryER,学起上面两个玩意儿会很难,思想上定性思维会让我们无法摆脱jquery的dom和事件绑定。

所以,让我们暂时抛弃jquery,安静的看着vue和angular装×吧。

先来说下我的经历,本人14年毕业,一直做着前端的工作,现在杭州宇石网络科技,内部花名单名一个白,从最开始的java转到前端,从最基础的切图到html到js,时间说长也不长,整整两年零3个月。说实话,喜欢前端技术的人都是有着年轻的心的人,前端技术更新快,易入门难精通,必须要有一颗年轻的心才能够在这条路上走的更远,相信我也正走在前端大牛的路上,应该不远。

废话太多了,请注意上面略过

js很难,为什么这么说呢,因为我在开始学js的时候看了一个月的js视频,居然一头雾水。然后我不信邪,又重新看了一遍,还是没有看懂,说实话妙味课堂的js教程我看了不下3遍,每一次都还是会不断去跟着code。用原生的js写过几个轮播和tab切换,之后就转战jquery,那个时候感觉jquery好强大,简直大爱。

当时对前端的技术很是感兴趣,每天就看着各种博客论坛,14年和15年的时候网上关于前端两个词特别显眼,node和angular,我自然要去一探究竟,然后就看了很多关于angular的博客,当然都事新手入门什么的,还有菜鸟什么的,反正就是很多,之后就是看api和文档,然后就是各种对着案例code,不出所料,断断续续的几个月里最终我还是放弃了。

一句话,字都认识,看不懂的滋味真的很难受,曾经一度都认为自己不适合写代码,不适合前端。其实,这是必然的,jquery都没有学好,根本没有安静下心来,学习靠的灵感和安静,只有静下心来看,才会有灵感,才能去理解代码。

直到来到杭州宇石网络,公司之前用的是jquery和require,最近boss说我们开始用下angular,让我们看下angular的文档,说实话,我期待和害怕的,我害怕还是看不懂,不过在这之前,我已经看了vue,可能是因为vue真的简单的原因,一天的时间就看懂的了,然后就是就是深入去看api和实例,然后自己写demo,做小项目。真的感觉是一种解放。

之前一直用jquery去操作dom,现在终于可以解放dom了,vue的指令和数据绑定,帮我们做了一切。深有体会的就是用jq渲染一个列表,如果列表的item内容非常丰富,那简直噩梦,js代码里充斥这各种html标签,各种单双引号嵌套。为了解决中问题,不得不去用temple模板插件,让我们也能优雅的写代码比如:

ejs的循环

<%for(var i = 0; i < data.rows.length; i++){%>
<li>
<img src="<%=data.rows[i].img%>" style="width:200px;"/>
<p><a href="/news/<%=data.rows[i].id%>"><%=data.rows[i].title%></a></p>
</li>
<%}%>

  

终于可优雅的写html了,有点像jsp,后端渲染的模板,其实没错,node+ejs就是这样渲染。

我们再来看下更优雅的代码

vue的循环

<ul>
<li v-for="item in list">
<a :href="item.url">{{item.title}}</a>
</li>
</ul>

angular和vue的渲染差不多

<div class="item" ng-repeat="news in  newsList">
<a ng-href="#/content/{{news.id}}">
<img ng-src="{{news.img}}" />
<div class="item-info">
<h3 class="item-title">{{news.title}}</h3>
<p class="item-time">{{news.createTime}}</p>
</div>
</a>
</div>

  

angular用的指令是ng-前缀的,而vue是v-,风格其实一样的,数据绑定的方式也是一样的两个{}。

angular和vue挂载数据和方法

var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope) {
$scope.list = [{},{},{}];
$scope.method = function(){
console.log("angular");
}
})
var V = new Vue({
el:"#app",
data:{
list:[{},{},{}]
},
methods:{
method:function(){
console.log("angular");
}
}
})

可以看出angular所有的数据和方法都是挂载在$scope上,而vue的数据和方法都是挂载在vue上,只是数据挂载在vue的data,方法挂载在vue的methods上,可以看出来,vue的代码风格更加优雅,json格式书写代码,一直是前端最喜欢的方式。

angular和vue的对比学习之路的更多相关文章

  1. vue.js的学习之路

    因为对jquery的ajax渲染很不满,所以我就来学vue.js了 1)vue.js是什么 官方解释为:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型 ...

  2. Vue外卖的学习之路

    用Vue打造外卖项目 一.项目前整理思绪 (1)项目所需的技术栈 (2)项目分布 (3)整体项目文件介绍

  3. 对比学习 ——simsiam 代码解析。

    ​  目录 1 : 事先准备 . 2 : 代码阅读. 2.1: 数据读取 2.2: 模型载入 3 训练过程: 4 测试过程: 5 :线性验证 6 : 用自己数据集进行对比学习. 第一:  改数据集 : ...

  4. Angular和Vue.js 深度对比

    Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工具配合使用时,Vue.js 的优秀功能会得到大大加强.如今,已有许多开发人员开始使用 Vue ...

  5. Angular 和 Vue 使用的对比总结 -- 脚手架

    前言 之前是用Vue的,现在由于工作原因,开始使用Angular.分别是Vue2和Angular5入的坑.只是从使用上来对比总结,加深记忆,避免混淆. 什么 ?  你问实现原理的异同及优劣? 本宝宝还 ...

  6. NO.05--谈一谈Angular 和 Vue.js 的对比。

    几天的vue之后,给需要的盆友们带来一篇对比,也算是我近期之内业余时间的大工程,现在开始: Vue.js 是开源的 JavaScript 框架,能够帮助开发者构建出美观的 Web 界面.当和其它网络工 ...

  7. Blazor和Vue对比学习:说在开始前

    1.Vue:现代前端三大框架之一(Vue/React/Angualr),基于HTML.CSS和JavaScript,2014年正式对外发布,目前已发展到3.X版本.值得说道的是,Vue的创始人作者是华 ...

  8. Vue学习之路---No.4(分享心得,欢迎批评指正)

    这里说声抱歉,周末因为有其他事,没有更新博客,那么我们今天继续上周5的说. 老规矩,先回顾一下上一次的重点: 1.利用V-if和v-else来提到show()和hide(),同时要记住,v-else一 ...

  9. 后端开发者的Vue学习之路(一)

    目录 前言: iview组件库示例 element组件库示例 Vue的介绍 兼容性: 学习Vue需要的前置知识: MVVM模型 补充: 安装/导入 导入Vue 安装 两种方式的区别: HelloWor ...

随机推荐

  1. Vim ---- 默认打开行号

    Vim有非常迅速跳转到某一行行首的方法,例如 :n 或者 nG,n 表示到第 n 行. 但是Vim的显示行号功能默认是关闭的. 可用一下方法使Vim默认显示行号: 在配置文件 .vimrc 中,输入 ...

  2. raft学习

    http://thesecretlivesofdata.com/raft/ 选举 角色:  leader 领导者 Follower跟随者  Candidate候选者 如果跟随者在一定时间内,么有收到领 ...

  3. Hibernate 查询语言

    查询语言 Hibernate 查询语言(HQL)是一种面向对象的查询语言,类似于 SQL,但不是去对表和列进行操作,而是面向对象和它们的属性. HQL 查询被 Hibernate 翻译为传统的 SQL ...

  4. C语言实现 计算个人所得税务2种方法

    #include <stdio.h> #include <stdlib.h> /* 基于C语言的个人所得税计税系统 问题描述: 我国现行的个人所得税计算方法如下: 级数 全月应 ...

  5. OS -- (python)文件和目录操作方法大全

    一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法.1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()2.返回指定目录下的所有文件和目 ...

  6. 虚拟机vm安装黑群晖6.2

    操作系统选择

  7. MyBatis - Mapper动态代理开发

    Mapper接口开发方法编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象. Mapper接口开发方式是基于入门程序的基础上,对 控制程序 进行分层开发, ...

  8. python 筛选序列中的元素

    列表生成式 a = [1, 2, 3, 4, -1, -2] b = [i for i in a if a > 0] 如果数据量很大,会产生一个庞大的结果.这时可以用生成器表达式: b = (i ...

  9. 图数据库neo4j和关系数据库的区别

    相信您和我一样,在使用关系型数据库时常常会遇到一系列非常复杂的设计问题.例如一部电影中的各个演员常常有主角配角之分,还要有导演,特效等人员的参与.通常情况下这些人员常常都被抽象为Person类型,对应 ...

  10. PIL的ImageDraw的颜色问题

    因为我的图片的单通道的,所以用 draw = ImageDraw.Draw(image) im_width, im_height =], info[], info[], info[]) color=d ...