【问题标题】:ng-bind-html and angular.js errorng-bind-html 和 angular.js 错误
【发布时间】:2016-02-05 12:05:15
【问题描述】:

我正在使用 angular.js 并尝试学习 ng-bind 和 ng-bind-html。

首先,我的代码:

<div ng-app="module" ng-controller="controller as ctrl">
<div ng-bind-html="ctrl.html"></div>
</div>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular-sanitize.js"></script>

<script>
var themodule = angular.module("module", ["ngSanitize"]);
themodule.controller("controller", [function()
{
this.html = "<strong>Hello</strong><div>More</div>";
}
]);
</script>

即使它可以工作,在控制台中也会出现以下错误:

Error: c.push is not a function
yc/this.$get</D.$$addBindingInfo<@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:73:319
$d</<.compile/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:214:329
$@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:70:197
B@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:59:255
g@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:51:335
B@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:59:199
g@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:51:335
D/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:50:444
uc/d/</<@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:18:4
Pe/this.$get</n.prototype.$eval@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:126:11
Pe/this.$get</n.prototype.$apply@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:126:236
uc/d/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:17:477
e@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:36:313
uc/d@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:17:1
uc@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:18:179
Jd@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:17:1
@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:250:429
a@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:164:283
lf/c@https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js:32:384
 <div class="ng-binding" ng-bind-html="ctrl.html">

我搜索过,但找不到任何相关信息。

有谁知道为什么以及如何解决它?

谢谢!

【问题讨论】:

  • 尝试使用正确版本的 ng-sanitize 即&lt;script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-sanitize.js"。您的 angular core 版本和 sanitize 版本不匹配
  • @PSL 非常感谢!吸取了很大的教训!

标签: angularjs ng-bind-html


【解决方案1】:

尝试使用这个版本的 angular-sanitize.js

src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular-sanitize.js"

src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular-sanitize.js"

并使用

var app = angular.module("myFirstApp", ['ngSanitize']);/*"angular-sanitize.js",
which has functions for removing potentially dangerous tokens from the HTML.*/

希望您的问题能够得到解决。

【讨论】:

  • 你想说什么?
  • 格式化您的内容,易于编写内容。但是让它有吸引力,它在堆栈中起着至关重要的作用。
猜你喜欢
  • 2013-09-06
  • 2015-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-02-09
  • 1970-01-01
  • 2015-05-16
相关资源
最近更新 更多