问题标签 [ng-bind-html]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - Angular JS 在标签内显示 HTML
我正在尝试使用ng-bind-html-unsafe
属性在模板中插入 HTML。但由于某种原因,它不起作用。
我的代码:
我看不到 HTML。如果我更改ng-bind-html-unsafe="value.button"
为ng-bind-html-unsafe="{{value.button}}"
然后它显示 HTML 但在属性内,如下所示:
javascript - 使用 Angular 的 ng-bind-html 和默认 HTML
我正在编写一个网站,我正在为使用 Angular 添加一种迷人的体验。该网站可以在没有 JS 的情况下工作,但对于体面的浏览器,内容将以 HTML 片段的形式动态注入(无前端模板语言)。
我有一个表示页面内容的块,最初应该包含来自服务器的 html 内容,然后用来自 Ajax 函数的 HTML 片段替换。
我希望使用ng-bind-html
默认内容,但是一旦 Angular 引导,这个元素就会被清空并替换为绑定到的pageContent
变量的内容ng-bind-html
(如预期的那样。)
在控制器中更新变量之前,有什么方法可以停止ng-bind-html
删除默认内容?
另一种选择是在引导 Angular 之前收集元素的内容,但我不认为这是一个非常优雅的解决方案。
我的页面中的一些示例代码:
理想情况下,#content
div 中的 HTML 内容将保留在页面上,直到我更新$scope.pageContent
变量。有任何想法吗?
angularjs - 调用 trustAsHtml Angularjs 后将新的 html 绑定到控制器
一旦从服务器接收到新的 html,我就可以嵌入它,但后来我需要将它绑定到模型。即使我在插入并显示 5 秒后编译它,html 也不会绑定到模型。
让我简单举例说明
假设 html 是
它嵌入的地方应该是这样的:
html 已正确嵌入,但我想将其绑定到模型。
javascript - ng-bind-html 不适用于输入标签
我正在尝试将 HTML 存储在范围变量中,然后在模板视图中使用它。当我在阅读如何以角度进行此操作时,我遇到了ng-bind-html
. 在那我注意到,当我用 , 等绑定 html 标签时<a>
,<strong>
它可以工作。但我无法为其添加<input>
标签。
意思是,这有效:
模板:
但这不起作用:
模板:
以上只是一个简化的示例,仅用于演示目的。我的问题是:
1) 标签不能与 ng-bind-html 指令一起使用吗?
2)如果没有,我怎样才能 html 绑定输入标签,以便我可以将其插入到视图中?
javascript - Angular ng-bind-html 解包锚标签
我在以下代码中使用 ng-bind-html:
我这样做是为了让整个内容区域成为一个大锚。但是,当使用 ng-bind-html 时,我得到以下输出:
当使用 $sce.trustAsHtml 显式转义输出时:
angularjs - ngSanitize 不允许允许 id 属性
我ngBindHtml
用来显示来自(内部)CMS 的一些 HTML:
HTML 包含一个带有id
属性的链接:
但是,我注意到 id 属性在写入页面链接之前被 angular 删除了,所以渲染的只是:
查看 ngSanitize 模块的源代码,似乎由于某种原因 id 属性不在有效属性列表中:
https://github.com/angular/angular.js/blob/master/src/ngSanitize/sanitize.js#L206
- 不允许 id 属性的原因是什么?是否存在安全风险?
- 如果可能的话,我真的很想继续使用 ngBindHtml。是否有可以将安全标签添加到消毒剂列表的 API?还是我必须自己编辑源才能添加此标签?
javascript - 为什么 AngularJS 的 ng-bind-html 指令会改变 div 的溢出行为?
我正在使用 AngularJS 构建一个类似控制台的应用程序。我的要求之一是包含控制台的 div 会自动向下滚动。我使用监控内容并相应调整scrollTop
div 属性的指令实现了这一点:
第一种显示行的方法是ng-repeat
结合使用无序列表和大括号语法进行绑定:
正如您在这个小提琴的绿色输出区域中看到的那样,这非常有效。输入行(以开头的行>>
始终可见。
但其中一项要求也是在输出行中呈现 HTML。因此,我开始使用 ngSanitize 模块并从大括号语法切换到使用ng-bind-html
指令:
这导致输入行总是移出可见区域。正如您在上面提到的小提琴中的红色输出区域中看到的那样:
在这两种情况下,生成的输出看起来都一样。所以这是我的问题:为什么滚动行为会根据我使用大括号语法还是 ng-bind-html 指令而有所不同?
angularjs - 使用AngularJS ng-repeat输出HTML不呈现粗体字体
我正在尝试输出一些工作正常的 HTML,大部分情况下,但一些样式正在被剥离。从下面的图像中,您可以看到 /ul/ 工作正常,并且在 ng-repeat 中渲染 /li/ 项目正常,但 BOLD 字体没有下降。
我尝试更改样式并将其放在标题标签和段落中,但字体粗细不起作用。
有什么理由吗?
javascript - ng-click 不适用于 ng-bind-html
我有这样的html模板:
我想使用绑定这个模板ng-bind-html
,我尝试使用它,也使用了ng-bind-html-unsafe
,但不幸的是它绑定了 html 字符串,没有点击操作。
我读过类似的问题,它说ng-click
是在加载之后ng-bind
,所以有人可以向我介绍如何解决这个问题吗?