1

topディレクティブで絶対配置要素のスタイルにバインドしたいと思います。これは可能ですか?

これが私が作ったコードでやりたいことです:

angular.module('exampleModule').directive('resize', [function () {

    return {

      link: function(scope, iElement, iAttrs) {

        var top = 14;

        // There is no styleChange event
        iElement.bind('styleChange', styleChangeHandler);

        function styleChangeHandler(event) {
          if(event.style == 'top' && event.value != top) {
            scope.$apply(function(scope){
              scope[iAttrs.topChanged](event.value);
             });
          }
        }
      }
    }

}]);
4

2 に答える 2

4

スタイル変更イベントはありません。スタイルの変更を管理している場合は、カスタム イベントを作成して手動でトリガーできます。または、次のようなウォッチ関数を作成することもできます。

link: function(scope, iElement, iAttrs) {
  //...
  scope.$watch(function(){
    return iElement.css('top');
  },styleChangeFn,true);

  function styleChangeFn(value,old){
    if(value !== old)
      scope[iAttrs.topChanged](value);
  }
}
于 2013-05-23T20:11:29.823 に答える