我有run
方法,我实现了两个公共方法:pxH
和phW
返回屏幕宽度和高度(以像素为单位)。
app.run(function(){
var calcPixels = function(size, valueInPersent){
return ( size * valueInPersent / 100 ) + 'px';
};
$rootScope.pxH = function(valueInPersent){
return calcPixels(window.innerHeight, valueInPersent);
};
$rootScope.pxW = function(valueInPersent){
return calcPixels( window.innerWidth, valueInPersent );
};
});
在我的所有项目中使用HTML:
<div class="row" ng-style="{'height': pxH(21.7)}"></div>
我有大约20个HTML文件,我在所有这些文件中使用这些方法。
我是否需要将方法pxH
和phW
保留在$rootScope
下,或者有更合适的方法来放置它们?
有什么建议吗?
答案 0 :(得分:3)
创建工厂:
app.factory('calc', function() {
return {
calcPixels: function (size, valueInPersent){
return ( size * valueInPersent / 100 ) + 'px';
},
pxH: function (valueInPersent){
return calcPixels(window.innerHeight, valueInPersent);
},
pxW: function(valueInPersent){
return calcPixels( window.innerWidth, valueInPersent );
}
}
});
然后在您的控制器中注入服务:
app.controller('myController', function($scope, calc) {
$scope.calcPixels = calc.calcPixels;
etc...
});