2

各データ変更と各ウィンドウのサイズ変更イベントで、テキストを動的に切り捨てたいと思います。

HTMLがあるとしましょう:

<p ng-truncate='lines: 2'> Lorem ipsum dolor...</p>

私のディレクティブは切り捨てを行いますが、それでもウィンドウのサイズ変更時に再切り捨てがありません。

angular.module('moduleName', [])
  .directive 'ngTruncate', () ->
    link: (scope, element, attributes) ->
      // Direcive code here
      $(window).on 'resize', ->
        scope.$apply()
        scope.$digest()

残念ながら、動作し$applyませ$digest()ん。

さらに、私は$window何とか使用する必要があると信じています...

4

2 に答える 2

1

おそらく、$scope呼び出し前$applyまたは$digestサイズ変更時に何も変更されていません。

いくつかの機能を追加することをお勧めします。

function onWindowChange() {
    // do some changes to any 
    // attributes of scope
    // and than apply them
    scope.$digest()
}

// and call it on window resize
$window.resize(onWindowChange);

または、スコープ attr を変更する関数があり、多くの異なるイベントで呼び出し、$scope.$watchこの attr および on change call を使用する場合があります$scope.$digest

ここにディレクティブコード全体を投稿した方が答えやすいかもしれません...

于 2013-06-12T05:30:33.283 に答える
0

はい - プロパティを使用して$window、ウィンドウのサイズの変更を監視できます。

ここにフィドルがあります。

元の議論はここにあります(フィドルが選ばれた場所から)

于 2013-06-12T05:07:21.097 に答える