【发布时间】:2016-12-11 20:35:32
【问题描述】:
我正在创建一个指令,您可以在其中传递不同类型的 html 元素并将它们注入到表格中。
但有时我的用户可能需要在 ng-class 指令中添加某种表达式
例如检查以下内容:
$scope.element =
{
html: '<button type="button" ng-class="element.classExpression">My button</button>',
classExpression : "element.classExpressionDefault ? 'btn-success': 'btn-danger'",
classExpressionDefault: $scope.inactive,
}
HTML:
<span ng-bind-html-unsafe="element.html"> </span>
请注意上面的代码不起作用!
上面代码的问题是表达式没有被计算,因此它丢失了。
所以我的问题是我如何添加它,这可能吗?
【问题讨论】:
-
我认为这是因为 Angular 只注入干净的 html 并照此处理。它不会将其作为角度编译的 html 处理,因此它不会评估其中的任何表达式。
-
查看this answer如何实现这一点
-
@devqon 问题在于它是 uisng $watch 与 ng-repeat 一起使用时会出错
标签: javascript angularjs ng-class