web storm编辑器
下拉更新
ion-refresher
03里面的demo02 pull-to-refresh有示例工程
angularjs:
ng-app,表示angularjs开始接管
ng-model=“username” 绑定input,类似普通html里面的name=“ username”
ng-bind=“ username” 类似 {{username}}
较普通html不同的是,这种绑定方式可以实时input,实时输出
这就叫双向数据绑定
ng-init,设置一些初始值,一般不用
{{}}中可以写表达式{{num*5}}
ng-controller,指定控制器,angularjs的核心
然后使用$scope元素完成双向绑定
ng-app和ng-controller都是有控制域的
angularjs使用模块,解决控制器污染全局命名的问题
ng-repeat完成循环,如下,将会循环li标签
<ul>
<li ng-repeat=“p in person”></li>
</ul>
需要用哪个模块,就把模块名加到controller的参数里面,如$http等
$http.get(url).success(function(data) {}).error(function(err) {});
$http.post(url).success()
$http.jsonp(url),跨域请求其中url需要加callback=JSON_CALLBACK
过滤器
{{name | uppercase}}
{{name | lowercase}}
ng-repeat=“p in person | orderBy:’name’ “
还可以筛选 ng-repeat | filter
$scope作用域
controller可以嵌套,对应$scope就是继承关系
另外有一个$rootScope
如果外部的setTimeout方法要实现$scope的变化,或者是监听$scope的变化
使用$apply或者$watch方法
但是可以使用angularjs内置的$timeout方法,更简单,不需要用$apply方法
监听数据变化特别好用,比如在计算运费的时候
$scope.$watch($scope.sum,function(newVal,oldVal) {
//console.log(newVal);
//console.log(oldVal);
$scope.iphone.fre = newVal >= 100 ? 0 : 10;
});
{{sum()}},数据绑定里面可以执行方法
$scope.sum() {return total;}
angularjs的工具方法
angular.isArray, isString 等等
angular.uppercase()
如果要初始化两个ng-app,需要用angular.bootstrap来加载
模块之间的依赖还可以从[]中加入
比如
service.js中有angular.module(‘starter.services’, [])
controller.js中有angular.module(‘starter.controllers’, [])
然后在app.js中写入
angular.module(‘starter’, [‘ionic’, ‘starter.controllers’, ‘starter.services’])
其中ionic是插件,另外两个是其他文件中的module