AngularJS:当元素太大时如何隐藏元素?

时间:2012-11-28 22:13:48

标签: angularjs

http://plnkr.co/edit/roJC9X

请参阅上面的链接。我希望在文本区域的宽度超过400px时隐藏textarea。怎么办呢?

1 个答案:

答案 0 :(得分:2)

当您使用Angular并且处理与视图相关的代码时,您需要定义directive

下面的代码是该指令的示例(用CoffeeScript编写):

angular.module('yourAppName').directive('hideOnExceed', ->
  return {
    restrict: 'A', 
    link: (scope, element, attr) ->
      element.bind 'resize', ->
        if element.width() > 400
          element.hide()
        else
          element.show()
  }
)

然后只需将hideOnExceed定义为textarea标记的属性:

<textarea ng-show="withinSize()" hideOnExceed>{{size}}</textarea>