部分知识来源html
1.先自定义过滤器web
var pmsApp = angular.module("pmsApp", ["ui.router", 'ui.bootstrap', 'ui.bootstrap.pagination','ngCookies','pascalprecht.translate'],function ($httpProvider) { $httpProvider.defaults.headers.post['Content-Type'] = 'application/json'; $httpProvider.defaults.headers.post['X-Requested-With'] = 'XMLHttpRequest'; }); pmsApp.filter('sumColumn',function(){ return function(data, key){ if(typeof(data) === undefined || typeof(key) === undefined ) { return 0; } var sum = 0, i = data.length - 1; for(; i >= 0; i--) { sum += parseFloat(data[i][key] ? data[i][key] : 0); } return sum.toFixed(2); }; });
2.在视图上使用过滤器:ajax
{{obj | filterName:参数1:参数2:...}} //obj是要过滤的对象
3.在控制器里面使用:
首先需注入$filter以后才能使用,具体用法以下:json
$filter(filterName)(要过滤的对象,参数1,参数2,...)
注:bootstrap
$httpProvider.defaults.headers.post['Content-Type'] = 'application/json'; $httpProvider.defaults.headers.post['X-Requested-With'] = 'XMLHttpRequest';
能够设置Content-Type 为 application/json ,可是若是ajax请求中参数传递不正确,仍是有可能会报Content-Type的错误,好比
Content type 'application/octet-stream' not supported ,因此须要检查参数传递问题app
有关AngularJS代码不符合语法,致使报错ide
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。post
var sum2 = (parseFloat(a)+parseFloat(b)+parseFloat(c)).toFixed(4)
语法NumberObject.toFixed(num)参数描述num必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现能够支持更大的数值范围。若是省略了该参数,将用 0 代替。ui
调用全局方法,获取返回值,给当前controller赋值.net
// 供应商分类 $rootScope.getSupplierClassificationArray(function(result){ $scope.supplierClassificationArray = result; $scope.queryContent.supplierType = result.data[0].classNode; }); // 履约状况 $rootScope.performStatusArray(function(result){ $scope.performStatusSelect = result; $scope.queryContent.performStatus = result[0].value; });
view代码 (设置value和text)
<select class="form-control" ng-model="queryContent.performStatus"> <option ng-repeat="performStatus in performStatusSelect" value="{{performStatus.value}}"> {{performStatus.text}} </option> </select>
注: 设置默认选中第一个正确方式为
$scope.queryContent.performStatus = result[0].value; // √ $scope.queryContent.performStatus = result[0]; // ×