1
私はウィンドウリサイズカスタムディレクティブを実装しようとしましたが、うまくいきます。ディレクティブの名前を変更すると、カスタムディレクティブが動作しない
問題はリサイズとしてディレクティブ名を使用する場合にのみ問題です。 それ以外の場合、windowsizeと異なる名前を使用すると、ページの更新時にのみトリガーされます。ここ
は、コントローラのコードこの例では、ここで
var app = angular.module('miniapp', []);
function AppController($scope) {
/* Logic goes here */
}
> > app.directive('windowsize', function($window){
> return function(scope,element){
> var w=angular.element($window);
> scope.getWindowDimension=function(){
> return{
> 'w': w.width()
> };
> };
> scope.$watch(scope.getWindowDimension, function (newValue, oldValue) {
> scope.windowWidth = newValue.w;
> console.log(scope.windowWidth);
>
> }, true);
> w.bind('windowsize', function() {
> scope.$apply();
> });
> };
> })
html code
<div ng-app="miniapp" ng-controller="AppController" windowsize>
window.height: {{windowHeight}}
<br />window.width: {{windowWidth}}
<br />
</div>
あなたはリフレッシュ前に何かエラーがありますか? –
w.bind( 'windowsize')ではなくw.bind( 'resize')を試してください。 –
私は何のエラーもありません。私はディレクティブの名前をwindowsizeに置き換えた場合、うまく動作します。 @SaEChowdary –