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;变量声明之后,该变量是空的(它没有值)。如需向变量赋值,请使用等号:
先写这些吧,还有好多要总结,改正。