前面必须说一段

帮客户做了一个过渡期的项目,唯一的要求就是速度,我只是会点儿基础的php,于是就用tp帮客户做了这个项目。最近和客户架构沟通,后期想把项目重新做一下,就用现在最流行的技术,暂时想的使用angular做前端框架,为了后期还能继续兼职参与。于是就学习了一下。
前端的东西好多,更新的速度好快,百度搜了一下angular,出来的技术博文都是好多,又不清楚使用的angular的版本,不过看日期就知道自己学习晚了。不过不得不提到大漠穷秋老师的教程不错,正在学习的同学的可以去看看他的教程。

demo都是从简单的开始

概念我都还没彻底搞懂,虽然断断续续还是学习了有段时间了,我就不说概念性的东西,免得说错了,误人子弟。


界面就是这么简单,我的初衷是做一个可以分享我的微博收藏的简单demo,做到最后还是做不下去了,做到这里就暂时先记录一下自己做的过程中遇见的问题,已经自己学习到的,后面争取还是完善完善。

用到的知识

  1. route
  2. controller
  3. service
    ……
  • 写了几个模板页面
  • 写了一个控制器文件
  • 写了一个服务文件(这个做到这里应该这个都用不着,不过这里也感受了一下这个文件具体是个什么)
    ……

项目结构


1.angular项目初始化文件,路由配置-app.js
项目一运行就来到了这个文件的位置,在ng-view标签位置引入对应的模板文件,这里只是用了angular的路由,可以学习一下UI-Router:Nested Routing for AngularJS。
2.控制器文件controller
这里创建了一个weiboCtrls模块,一个控制器是login,一个控制器是favorite;使用的微博开放平台的接口来实现的登录操作,由于使用的sae,直接就有对应的php的库,于是在other中引入了几个php文件。
3.服务文件service
这个文件本来是放置公共调用的,目前只是放了一个分页程序,http请求,习惯了ajax的方式,这里知道了有一个同步请求,异步请求,不过前段时间写过一个随便jquery-ajax-async之浏览器差异 ,http只有异步请求,不要把ajax的async设置true,false那一套拿过来尝试,我是尝试过的,所以我知道不行,你就不要再试了,所以这里的代码写的很乱,思绪都没有了。
分页,获取收藏的微博的时候,会返回一个总收藏数,通过这个来实现前端的分页,每页显示五个页码数。

1.第一页 1 2 3 4 5
2.第二页 1 2 3 4 5
3.第三页 1 2 3 4 5
4.第四页 2 3 4 5 6
……

通常分页应该都是这么操作的,这里的代码写的也不是很好,改天还要重新写过,之前有写过一个感觉较好的,但是后来版本丢失了。
综上来看没有用到什么实际的知识,也没有涉及到指令什么的,离我原想做成的demo还有很长的一段距离,不过今天已经48天了,还没有什么好转,按照正常的情况来看可能也就只有这样了。说实话挺害怕这个结果的,压力挺大,以赚钱的项目为主,业余学习项目为辅,不过不学习是不行的。你看看大家都在玩什么react啊什么的了,等你玩的时候又只能看几年前的教程了,等到2.0来了,或许有些规则已经又变化了,而你还一成不变。
接下来你可能就会听到“unofficial, out!”。

angular实现了一个简单demo,angular-weibo-favorites的更多相关文章

  1. 构建一个简单的Angular工程

    1.创建一个空的工程,之后用webstorm打开,添加一个bower.json文件: { "name": "AngularTpl", "depende ...

  2. 在cengos中安装zabbix server/agent, 并创建一个简单demo

    添加zabbix更新源 rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch ...

  3. Log4net - 项目使用的一个简单Demo

    参考页面: http://www.yuanjiaocheng.net/entity/entitytypes.html http://www.yuanjiaocheng.net/entity/entit ...

  4. 关于EF的一个简单Demo

       今天使用EF的时候很奇怪的问题,添加属性后,使用程序包管理器控制台的NuGet命令更新无效,于是做了这个测试,一次性写好,自动更新,看看效果 1.首先建立一个MVC项目 2.我们选择Intern ...

  5. Android中调用C++函数的一个简单Demo

    这里我不想多解释什么,对于什么JNI和NDK的相关内容大家自己去百度或谷歌.我对Android的学习也只是个新手.废话少说直接进入正题. 一.在Eclipse中创建一个Android Applicat ...

  6. 用redis来实现Session保存的一个简单Demo

    现在很多项目都用Redis(RedisSessionStateProvider)来保存Session数据,但是最近遇到一个比较典型的情况,需要把用户数据全部load到redis里面,在加上RedisS ...

  7. gin框架初识(先跑一个简单demo) ①

    Gin 是一个 go 写的 web 框架,具有高性能的优点.官方地址:https://github.com/gin-gonic/gin 先跑一个demo(先安装gin框架,具体见官方地址): 1.vs ...

  8. 【转】用Pthread创建线程的一个简单Demo

    一.我们直接在COCOS2D-X自带的HelloWorld工程中添加代码.首先将Pthread的文件包含进来包括lib文件.在HelloWorld.cpp中引入头文件和库. #include &quo ...

  9. COCOS2D-X之圆形进度条的一个简单Demo

    这应该是游戏中很常见的一个效果.显示某个事件的进度等,在加载资源或者联网的时候经常用到.所以有必要学习学习 一.我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添 ...

随机推荐

  1. jquery-qrcode生成二维码

    一.jquery-qrcode jquery-qrcode是一个为浏览器生成二维码的jquery插件.我们很容易将它集成到我们的应用.该插件也可以独立使用,也比较小.它是直接在客户端生成二维码生成.所 ...

  2. 【log4net】配置

    第一步在 AssemblyInfo  添加如下代码 第二步:在web.config添加如下代码: <log4net> <root> <level value=" ...

  3. 通过beego快速创建一个Restful风格API项目及API文档自动化

    通过beego快速创建一个Restful风格API项目及API文档自动化 本文演示如何快速(一分钟内,不写一行代码)的根据数据库及表创建一个Restful风格的API项目,及提供便于在线测试API的界 ...

  4. 虚拟机Linux----Ubuntu1204----设置固定Ip

    1.介绍 环境:ubuntu版本是12.04,虚拟机是Oracle Vm VirtualBox 2.说明 需求:现在已经安装了一个ubuntu系统,网络配置是默认选择桥接,可以上网,物理机可以连接虚拟 ...

  5. C语言使用宏实现2个变量的交换

    记录哪个方法更普适,更高效,这些方法不包括使用函数的方法,如果使用函数的话,使用指针的方法更合适. 使用中间变量 形如 int tmp, tmp = a; a=b; b = tmp; #define ...

  6. 《TCP/IP详解 卷一》读书笔记-----TCP连接建立

    1.在每个TCP报文段中,头部的flag字段里的SYN,FIN,RST,PSH可以多个有效,并没有限定为必须只有一个 2.TCP连接建立过程: 1)客户端发送一个SYN报文段,其中包含了客户端要传送的 ...

  7. [转载]ExtJs4 笔记(4) Ext.XTemplate 模板

    作者:李盼(Lipan)出处:[Lipan] (http://www.cnblogs.com/lipan/)版权声明:本文的版权归作者与博客园共有.转载时须注明本文的详细链接,否则作者将保留追究其法律 ...

  8. 什么是Activity

    Activity 的生命周期是被以下的函数控制的.public class Activity extends ApplicationContext {      protected void onCr ...

  9. Android 屏幕适配(二)增强版百分比布局库(percent-support-lib)

    转载请标明出处: http://blog.csdn.net/lmj623565791/article/details/46767825: 本文出自:[张鸿洋的博客] 一 概述 上周一我们发布了Andr ...

  10. Android 距离传感器修复 修复打电话黑屏 无法快速唤醒屏幕的BUG

    接触Android Xposed开发也很久了,学了这么久的Java,也该弄点东西出来了, public ProximitySensor(Context paramContext, AudioModeP ...