我有一大堆頁面給了我一個設計師,它必須與我現有的AngularJS項目集成。
我給出的頁面使用了很多jquery。導致問題的一件事是jquery的$('document').ready()
函數。
由於在一個角度項目中,頁面只被加載一次,所以任何頁面中的大部分document.ready()
部件都不起作用。每次頁面更改時,都會有一些代碼在這個函數中不起作用。
所以,在我的項目爲準控制器應該有一個工作對document.ready
我把它扔在控制器任何像這樣的代碼:
setTimeout(function(){
$scope.$apply(function() {
var _wht=($(window).height());
var _wwt=($(window).width());
_wht=($(window).height());
_wwt=($(window).width());
if(_wht > 450){
var mcht = _wht - ($('header').height()+ $('footer').height()+50);
$('.login-page').css('height',mcht+'px');
$('.login-page').css('padding-top',((mcht - 158)/2) +'px');
}
});
});
這工作得很好。
但我認爲這反對angularJS的關注點分離的哲學。控制器是你只有你的業務邏輯的地方。
哪裏是最好的地方扔這段代碼?
我想我會去除所有的jQuery相關的東西。並遷移到角度。 – 2014-08-28 10:26:40
@DeepankarBajpeyi這是最好的去....... – 2014-08-28 10:27:28