Javascript 如何动态添加/删除指令AngularJS

Javascript 如何动态添加/删除指令AngularJS,javascript,angularjs,Javascript,Angularjs,我使用Angular省略号指令(此处:)在溢出的文本上添加一些省略号。下面是对范围变量“fullText”中包含的文本执行此操作的代码 <div data-ng-bind="fullText" data-ellipsis></div> 我也想,有能力显示全文,不省略(如果是一个词…),当我点击一个按钮,说。据我所知,这个指令并没有给我一个简单的方法来做到这一点 AngularJS最好的方法是什么?我对AngularJS非常陌生,还没有编写任何指令-有没有一种非指令方

我使用Angular省略号指令(此处:)在溢出的文本上添加一些省略号。下面是对范围变量“fullText”中包含的文本执行此操作的代码

<div data-ng-bind="fullText" data-ellipsis></div>

我也想,有能力显示全文,不省略(如果是一个词…),当我点击一个按钮,说。据我所知,这个指令并没有给我一个简单的方法来做到这一点


AngularJS最好的方法是什么?我对AngularJS非常陌生,还没有编写任何指令-有没有一种非指令方式可以优雅地完成这项工作?

如果
ng show
/
ng hide
,您可以使用
ng:

<div data-ng-bind="fullText" data-ellipsis ng-if="condition"></div>
<div data-ng-bind="fullText" ng-if="!condition"></div>
<button ng-click="toggle()">Toggle</button>

// In controller :
$scope.toggle = function() {
    $scope.condition = !$scope.condition;
}

切换
//在控制器中:
$scope.toggle=函数(){
$scope.condition=!$scope.condition;
}

但是最好的方法是让指令直接处理它。

您可以使用removeAttr来删除属性。removeAttr是一个jquery函数,但它本身会包装jquery lite,因此您可以安全地使用它Hi-Magus-这是有意义的-这是我认为可以做的。。但是这会在内存中为每个你想做的地方创建两个div,对吗?哪一个开销相当大?使用指令会更有效吗?使用指令,您将只有一个div,因此更好。您可以编写自己的自定义指令,根据您提供给指令的输入来包装
div
,并附加或分离
数据省略号
指令。尽管这是可能的,但我建议使用ng if是一种更简单的方法,因为创建自定义指令需要
$compile
html字符串,这本身会增加时间复杂性。