使用 ng-click 切换内容

Toggle content using ng-click

我有以下循环遍历字符串数组的查询 wikiContent。一旦我显示了数组中的前三个值(句子),我想添加一个 link 表示 More,当您单击它时它会显示其余的句子。

这是我所拥有的(这是在使用 $httpAJAX 请求中):

var opt = "<span>";
for(var j = 0; j < wikiContent.length; j++){
    opt += wikiContent[j];
    if(j === 2){
        opt += "</span><span ng-hide='!show'>";
    }
}
opt += " ... <a href=\"\" ng-click='show=!show'>More</a>";
opt += "</span>";

$rootScope.text = opt;

当我点击 More 时,它会做两件事:

我该怎么做才能解决这两个问题?

这里是 HTML:

<div class="panel-body" ng-bind-html="toHtml(text)"></div>

这里是 toHtml() 函数:

$scope.toHtml = function(string){
    return $sce.trustAsHtml(string);
};

阅读文档后,Angular 提到使用控制器中的 dom 是个坏主意:

Note: This error often means that you are accessing DOM from your controllers, which is usually a sign of poor coding style that violates separation of concerns.

所以,我所做的是创建一个包含目录并将包含的内容放在那里,现在我正在使用 ng-include 而不是在控制器中构建 dom 项。