簡體   English   中英

ng-bind-html無法正常工作

[英]ng-bind-html not working

我正在嘗試將HTML插入我的div(代碼底部)。 我之前已經處理過這樣的問題,所以我添加了一個過濾器。 但是,當通過切換功能使div可見時,HTML不會從服務中顯示。 我已驗證該服務正在返回正確的HTML代碼。

div未隱藏,但未顯示html。

角度代碼:

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>

我不確定為什么這行不通。

這是我的笨蛋

您的示例有很多錯誤。

  • 主Javascript文件聲明了兩次,第一次在標頭中,第二次在body標簽上關閉之前
  • 您將函數稱為HTMLAPI()而不是$scope.HTMLAPI()
  • 您的$scope.HTMLAPI()函數也在初始化之前被調用

固定控制器代碼:

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();
}]);

工作實例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM