我如何在指令中添加自定义过滤器?

时间:2017-09-08 15:55:24

标签: javascript angularjs angularjs-directive haml

所以我对Angular Js很新。我正在努力解决一个简单的问题。我只需截断一串文字。我知道有limitTo过滤器,我可以将它附加到一个元素,但这需要是动态的。

This is my HAML FILE

This is my angular file

这里也是笔的链接 codepen.io/Brushel/pen/QMXPWN?editors=1010

1 个答案:

答案 0 :(得分:0)

这是一个实现所有需求的简单示例,使用此模板构建指令。

Codepen Demo

app.directive('truncate', function() {
  function link(scope, element, attrs){
    console.log(scope.input)
    console.log(scope.maxCharacters)
  }

  return{
    restrict: 'A',
      scope: {
      input: '=',
      maxCharacters: '=',
      href: '=',
      isShowMore: '='
      },
    template: '<h1 ng-init="limit=true;length=maxCharacters">{{input | limitTo: length}}<a ng-attr-href="{{ href ? \'#\': undefined }}" ng-click="limit=!limit;length=limit?maxCharacters: \'\'">{{isShowMore?"Show More":"..."}}</a></h1>',
    link: link
  }

});