angularjs - 在 Angular 中替换 DIV 的内容
问题描述
我有一些角度代码如下:
sb = "<p>Test<p>";
app.controller("CaseBatches", function ($scope, $sce) {
$scope.tabs = $sce.trustAsHtml(sb);
});
现在在第一次运行时,我可以使用 $sce 服务注入 HTML 代码。
我有一个执行 javascript 函数的按钮,该函数将 sb 的值更改为:
sb = "<b>Test 1</b>";
但是当我再次运行以下代码时,我的 DIV 内容没有更新。
sb = "<b>Test 1</b>";
app.controller("CaseBatches", function ($scope, $sce) {
$scope.tabs = $sce.trustAsHtml(sb);
});
DOM 根本没有更新。在重新应用 sb 值之前,我尝试了许多不同的方法,例如 $sce.trustAsHTML('') 。
任何有关如何完成此任务的帮助将不胜感激。
解决方案
您可能需要设置 $scope watcher 事件才能使其工作。
<pre ng-bind-html="tabs"></pre>
sb = "<b>Test 1</b>";
app.controller("CaseBatches", function ($scope, $sce) {
$scope.$watch('sb', function(v) {
if (v) {
// Render the tabs as trusted HTML
$scope.tabs = $sce.trustAsHtml($scope.sb);
}
})
});
推荐阅读
- android - 如何在android清单中连接字符串资源并构建变量
- python - Atom 上的 Python“ImportError:没有名为 twint 的模块”尝试使用 twint(Python 模块)
- node.js - 将服务器端数据行分块发送到客户端
- html - 我应该使用哪些维度来创建移动应用标题?(HTML/CSS)
- .net - 如何使用 Postman 或 .NET 设置 BIM360 项目的状态
- javascript - 从 redux-form 状态获取动态生成的值
- python - 最短的路线,在任何地方开始和结束
- python-3.x - Selenium - 如何获取选择字段的值选项 - PYTHON
- google-maps - 添加 GoogleMap API 时某些功能不起作用
- python - 将rds文件读入python