gpt4 book ai didi

javascript - ng-bind-html 不工作

转载 作者:行者123 更新时间:2023-12-03 06:58:47 26 4
gpt4 key购买 nike

我正在尝试将 HTML 插入到我的 div(代码底部)中。我之前处理过类似的问题,所以我添加了一个过滤器。但是,当通过切换功能使 div 可见时,服务不会显示 HTML。我已验证该服务返回正确的 HTML 代码。

div 未隐藏,但不显示 html。

Angular 代码:

var myApp = angular.module('myApp', []);
angular.module('myApp').filter('unsafe', function ($sce) {
return function (val) {
if ((typeof val == 'string' || val instanceof String)) {
return $sce.trustAsHtml(val);
}
};
});




myApp.controller('myAppController', function ($scope, $http) {
...
SERVICE CODE
...

$scope.toggleHTMLResults();
$scope.HTMLjson = obj[0].HTML;

HTML 代码:

<div id="returnedHTML" ng-bind-html="HTMLjson | unsafe " ng-hide="HTMLResults">NOT HIDDEN</div>

我不确定为什么这不起作用。

这是我的 Plunker

最佳答案

您的示例存在多个问题。

  • 主 Javascript 文件声明了两次,第一次在 header 中,第二次在 body 标记关闭之前
  • 您将函数调用为 HTMLAPI(),而不是 $scope.HTMLAPI()
  • 您的 $scope.HTMLAPI() 函数在初始化之前也已被调用

固定 Controller 代码:

app.controller('myAppCTRL', ['$scope', '$http', function ($scope, $http) {

var API = this;
$scope.HTMLInput = true;
$scope.HTMLResults = true;

$scope.toggleHTMLInput = function () {
$scope.HTMLInput = $scope.HTMLInput === false ? true : false;
}

$scope.toggleHTMLResults = function () {
$scope.HTMLResults = $scope.HTMLResults === false ? true : false;
}

$scope.HTMLAPI = function (HTML) {
var newJSON = ["[{\"ConditionId\":1111,\"ConditionDescription\":\"<i>DATA GOES HERE</i>\",\"ErrorId\":0,\"DisplayId\":0,\"DisplayName\":\"\",\"ErrorValue\":\"\"}]"];
var obj = JSON.parse(newJSON);
$scope.HTMLjson = obj[0].ConditionDescription;
$scope.toggleHTMLResults();

console.log($scope.HTMLjson);
}

$scope.HTMLAPI();
}]);

Working Example

关于javascript - ng-bind-html 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com