angularjs - Angular JS 截断文本并添加阅读更多

标签 angularjs

我有一个 ng-repeat 正在输出一些 <p> 。我想截断文本并添加一个“阅读更多”按钮,单击它时该按钮会展开。

这是我到目前为止所拥有的:

//NG-repeat
<div class="col-xs-4 mbm" ng-repeat="wine in wines">
    <p readMore> {{wine.copy|truncate: textLength }} 
        <a ng-click="changeLength()" class="color3"><strong>More</strong></a>
    </p>
</div>

//NG-click
$scope.changeLength = function() {
    $scope.textLength = 9999;
}

我有一个自定义指令,可以截断字符串的长度。但是当尝试通过 ng-click 修改文本长度时我在 ng-repeat 中找到了所有项目被修改。

有没有办法改单个ng-repeat项目?

最佳答案

wine作为ng-click的目标:

<p readMore> {{wine.copy|truncate: wine.textLength }} 
    <a ng-click="changeLength(wine)" class="color3"><strong>More</strong></a>
</p>

然后仅截断目标文本:

$scope.changeLength = function(wine) {
    wine.textLength = 9999;
}

关于angularjs - Angular JS 截断文本并添加阅读更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20180785/

相关文章:

javascript - 有没有办法使用 Angular 文件保护程序下载任何类型的文件?

javascript - 如何将一项插入包含 15 个对象的数组中

javascript - 创建一个 angularjs 指令来包装 jquery tagcanvas 插件

javascript - 从angularjs中的逗号分隔字符串列表拆分和映射数组

jquery - AngularJS ng-click 事件未从表中的 anchor 标记执行

javascript - 如何在 Angular 中使用 $interval 进行连续轮询?

javascript - AngularJS 数据服务与 $rootScope 事件

angularjs - 为什么使用 $rollbackViewValue 时用于表单验证的 ng-messages 不起作用

javascript - AngularJS 模型跟踪?

javascript - 如何使用自定义服务将 LinkedIn API 中的用户信息保存到 Angularjs Controller 中