工作中遇到的小问题总结

简单点说就是要页面自动铺满屏幕(没有滚动条),我看之前阿里云的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);基本可以处理所有类型

猜你喜欢

转载自blog.csdn.net/qq_33167665/article/details/81316406