简单点说就是要页面自动铺满屏幕(没有滚动条),我看之前阿里云的datav做这个效果就是这么做的。
一种是写在js页面;页面的方法
//页面随浏览器的缩放铺满窗口
/*transform:scale(0.31,0.47);*/
/*transform-origin :left top 0px;*/
var width = window.innerWidth;
var height = window.innerHeight;
var element1 = angular.element(document.querySelector('.main'));
var width1 = width/4096;
var height1 = height/1536;
element1.css('transform', "scale("+width1+","+height1+")") ;
element1.css('transform-origin','left top 0px');
//学会了字符串拼接的方法,错误也就出现在这里
一种是写成指令的方法
指令的方法,字符串拼接,的要注意
app.directive('resize', function ($window) {
return function (scope, element) {
var w = angular.element($window);
scope.getWindowDimensions = function () {
return { 'h': w.height(), 'w': w.width() };
};
scope.$watch(scope.getWindowDimensions, function (newValue, oldValue) {
scope.windowHeight = (newValue.h);
scope.windowWidth = (newValue.w);
scope.width = newValue.w/4096;
scope.height =newValue.h/1536;
element.css('transform', "scale("+scope.width+","+scope.height+")") ;
element.css('transform-origin', 'left top 0px') ;
}, true);
w.bind('resize', function () {
scope.$apply();
});
}
})
7.$apply();的方法的使用
什么时候使用$apply()呢?
运用到一个每隔几秒就自动刷新页面里面的数据的操作,效果
//时间日期显示
var today = new Date();
$scope.formatedDateToday = $filter('date')(today,'HH:mm');
$scope.year = $filter('date')(today,'yyyy.M.d');
$scope.days = today.getDay();
$scope.weekDay = new Array(7);
$scope.weekDay = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
$scope.weekDay = $scope.weekDay[today.getDay()];
//当用angular中提供的$interval的方法时候,会自动被$apply()来捕获,这样绑定在页面的数据就会再次刷新一下
$scope.time1 = $interval(function () {
clearTimeout($scope.time1);
$scope.formatedDateToday = $filter('date')(new Date(),'HH:mm');
$scope.weekDay = new Array(7);
$scope.year = $filter('date')(new Date(),'yyyy.M.d');
$scope.weekDay = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
$scope.weekDay = $scope.weekDay[new Date().getDay()];
},100)
8.sass的使用
见sass文档好了
把json数据,转化为json数据
,JSON.stringFy
var str_json = JSON.stringify($scope.ziyuantongj,null, "\t");
console.log(str_json);
9关于节点图,动态线条的问题
9.关于X轴的文字太长的处理问题
formatter函数
10,遇到的问题,实时刷新图像会越积越多,
解决办法:在请求数据之前将数组清空一下
11,数组常用的方法总结
数组的方法:forEach,map,filter,reduce,some,every.sort
数组截取,添加,删除,清空,字符串专数组,数组转字符串
有一个问题对变量的起名要顾名思义起,从后台获取的results开始
12.判断变量类型的方法,常用的
.factory("getDataType", function() {
return function(data) {
return Object.prototype.toString.call(data).slice(8, -1);
}
})
服务注入,调用函数
//判断类型的方法检测
$scope.cityName = "";
$http.get("zhuxingtu.json")
.then(function (airData) {
console.log();
$scope.cityName = airData.data.jsonObject.data[0].stationname;
getDataType($scope.cityName);
console.log(getDataType($scope.cityName));
})
其他方法
angular有一些常用的类型监法测
:isArray(),isObject(),isDefined(),isFunction,isString,isNumber,isDate,
isUndefined,isPrototypeOf,isElement
原生:typeof(只能监测基本类型string,number,function,boolean)
instanceof(基于原型集成,无法监测object类型和基本类型)
可以自己封装一个:Object.prototype.toString.call(待检测值).slice(8,-1);基本可以处理所有类型