angularjs和ionic

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

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注