ng-bind-html vs {{interpolation}}

时间:2015-05-13 14:04:58

标签: angularjs ng-bind-html angularjs-interpolate

这是我的问题,有什么优点和缺点?

在我的应用程序中,我使用插值但是我得到这样的错误

{{::sport.name}} - > NHL Futures & Props

如果我使用ng-bind-html

ng-bind-html="sport.name" - > NHL Futures & Props

在这种情况下ng-bind-html正在做我想要的。但是,它有什么问题吗?

还有一个比另一个好吗?

所以告诉我,我愿意接受建议。

2 个答案:

答案 0 :(得分:6)

实际上ng-bind和ng-bind-html之间的主要区别是用例。 ng-bind只显示变量的文本解释,但ng-bind-html将解释变量中的html。

假设我们在您的范围内有一个变量

 $scope.myText = "<b>Hi</b>";

ng-bind或{{}}将显示

 <b>Hi</b>

ng-bind-html将显示

您好

另一个精度是ng-bind-html可以清理你的html以防止代码注入。

答案 1 :(得分:2)

封底下的

ng-bind-html使用$element.html来设置内容(在明确信任或清理后)

{{ }}(或等效的ng-bind)使用$element.text(实际为$element[0].textContent)来设置内容。

因此,换句话说 - 第一个设置HTML,第二个设置Text内容。这就是为什么你看到与&amp;的区别。