2016-05-29 13 views
0

別のファイルにカスタムディレクティブを移動する方法:角度 - 私はこのコードを探しています

app.directive('resizer', ['$window', function ($window) { 
    return { 
     restrict: 'A', 
     link: function (scope, elem, attrs) {    
      angular.element($window).on('resize', function() { 
       $window.innerWidth > 500 ? 
        elem.addClass('large') : elem.removeClass('large') 
      }); 
     } 
    } 
}]); 

出典:私は私のアプリでので、別のファイルにこれを配置するSO Link

私がやったの依存関係:

:私が書いたその新しいファイルに

var app = angular.module('app', [.....]) .directive("resizer", resizer)

、その後、

var resizer = function() { 
    return { 
     restrict: 'A', 
     link: function (scope, elem, attires, $window) { 
      angular.element($window).on('resize', function() { 
       $window.innerWidth > 500 ? 
        elem.addClass('large') : elem.removeClass('large') 
      }); 
     } 
    } 
} 

しかし、それは機能しません。

ありがとうございました。

答えて

0

次でそれを行うことができます。

angular.module('app').directive('resizer', ['$window', function ($window) { 
    return { 
     restrict: 'A', 
     link: function (scope, elem, attrs) {    
      angular.element($window).on('resize', function() { 
       $window.innerWidth > 500 ? 
        elem.addClass('large') : elem.removeClass('large') 
      }); 
     } 
    } 
}]); 

あなただけのどこかにその依存関係を持つ前に、あなたのモジュールを初期化する必要があります。

angular.module('app', [.....]); 

理由は、あなたのコードが動作しません指示に間違った名前が付けられている可能性があります。最初の例ではresizerと書いてあり、2番目の例ではresizeとなっています。

+0

こんにちは - これは私が修正したタイプミスでした。 – userMod2

+0

@ userMod2:それは私が書いたものでしたか? – chresse

+0

そう、それは 'resizer'と呼ばれています。だからあなたの方法で私はちょうど 'resizer'を注入する – userMod2

関連する問題