如何使用angular-dotdotdot?

时间:2015-12-17 18:14:48

标签: javascript angularjs dotdotdot

我正在使用dotdotdot似乎是一个很酷的插件...但是,我需要使用它一个角度,如果加载新元素(通过http.get<> ng-repeat)则无法工作。

所以我发现有一个angular-dotdotdot ......如何使用它?不是很清楚...

假设我有这样经典的dotdotdot用​​法:

// ellipsis body to 4 lines height
var ellipsis = $(".ellipsis-case-body");
var nrLines = 4;
var ellHeight = parseInt(ellipsis.css('line-height'), 10) * nrLines;
ellipsis.dotdotdot({ height: ellHeight });

// ellipsis title to 1 line height
ellipsis = $(".ellipsis-case-title");
nrLines = 1;
ellHeight = parseInt(ellipsis.css('line-height'), 10) * nrLines;
ellipsis.dotdotdot({ height: ellHeight });

如何使用角度?

在他们的documentation

$scope.myText = 'some really long text';

模板:

<p dotdotdot='myText'>{{myText}}</p>

但是如何设置选项?

1 个答案:

答案 0 :(得分:0)

看起来不像你。这是来自GitHub的指令源代码:

angular.module('dotdotdot-angular', [])
    .directive('dotdotdot', ['$timeout', function($timeout) {
        return {
            restrict: 'A',
            link: function(scope, element, attributes) {

                // We must pass in the scope binding, e.g. dotdotdot='myText' for scope.myText
                scope.$watch(attributes.dotdotdot, function() {

                    // Wait for DOM to render
                    // NB. Don't use { watch: true } option in dotdotdot as it needlessly polls
                    $timeout(function() {
                        element.dotdotdot();
                    }, 400);
                });
            }
        }
}]);

请注意,没有任何内容传递给.dotdotdot()

您可能想要分叉或只编写自己的。