party_bid第一张卡总结

1、三种模式

MVC,模型(model)-视图(view)-控制器(controller)的缩写,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式,C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。起初做第一张卡真的是无从下手,后来才发现,其实在HAML中写的也便是对整个界面的构造,比如,标题,段落,背景,列表,按钮,模块,所有需要的,都要在HAML形式定义出来,gen后转化为HTML显示效果。而controller中则需定义那些你在haml中写的调用的方法。具体参考

http://zh.wikipedia.org/wiki/MVC

2、ng-tapng-repeatng-showng-disabeldng-modle

第一张卡使用了这五个

ng-tap用于跳转,之前用href链接类型,页面需要刷新才能跳转,且效果不好%a.btn-style.btn-4(ng-tap='go_create()')创建活动

ng-repeatangular的重复对象,创建以一列的对象元素%li(ng-tap='go_sign()'ng-repeat="activityinactivities")

ng-show用于比较常用的元素的显隐控制,比如返回按钮,当一种条件下显示,另一种条件下隐藏。相对应的是ng-hide,用法相反。ng也做了封装,返回类型都是Boolean类型的表达式,当值为true时,对应的show或hide生效。

ng-disabled框架会用来控制元素的隐显,当为TRUE时不可用,FALSE时可用,如创建按钮

ng-modle用于数据的双向绑定。

ng-style用来绑定元素的css样式,其表达式的返回值为一个js对象,键为css样式名,值为该样式对应的合法取值。用法比较简单:把需要绑定的(此卡为需要引入的样式)内容复制到party_bid相应的文件夹下,在index.haml里写内容如下:

/gen-css

/manual-css

%link(rel="stylesheet"type="text/css"href="lib/js/angular/mobile-nav.css")

%link(rel="stylesheet"type="text/css"href="/css/android.css")

%link(rel="stylesheet"type="test/css"href="/css/bootstrap.css")

3、js函数的语法

函数就是包裹在花括号中的代码块,前面使用了关键词function:

functionfunctionname()

{

这里是要执行的代码

}

函数只有在调用时才起作用,当调用该函数时,会执行函数内的代码。

涉及界面交换的,如:在js控制的haml调用的函数,要用$scope定义

$scope.functionname=function(){

这里是要执行的代码

}

4、本地存储

Localstorage用于本地存储,除非主动删除数据(localstorage.clear()),数据不会过期,在存储输入数据时需要存储在本地存储然后再取出,显示在活动列表上,但是在当地存储时会自动加一层变为字符串形式,且会覆盖上一个输入内容,解决这个问题需要在存入之前包成字符串,去的时候把引号去掉具体参考

http://oulafen.blog.51cto.com/7830663/1348765

还要定义数组,解决覆盖问题,先把输入活动名字push(后面插入)到数组中,然后reverse(调换所有内容先后顺序),再取出。也可以直接用unshift(前面插入)

activity_names.unshift($scope.input_activity);

localStorage.setItem('activity_names',JSON.stringify(activity_names));

5、命名

命名要见名知意(例如:varinput_activity)

Javascrit对大小写敏感,关键字function小写,在haml声明相同的名称与大小写才能调用js函数。javascript会忽略多余的空格

变量必须以字母开头,变量名称对大小写敏感(y和Y是不同的变量),类似"BillGates"这样一条文本被称为字符串。当向变量分配文本值时,应该用双引号或单引号包围这个值。当向变量赋的值是数值时,不要使用引号。如果用引号包围数值,该值会被作为文本来处理。我们使用var关键词来声明变量:varinput_activity;变量声明之后,该变量是空的(它没有值)。如需向变量赋值,请使用等号:

先写这些吧,还有好多要总结,改正。