2015-10-20 56 views
0

我試圖在使用Angular Material的$ mdDialog中顯示一些XML。如果使用標準警報顯示它,我會按照我的預期看到XML,但$ mdDialog或Angular將剝離它的所有標記。在mdDialog中顯示原始XML

這是代碼。就XML而言,註釋掉的兩行都沒有什麼不同。

   function displayFile(data, fieldName) { 
        var content = eval("data." + fieldName); 
        alert(content); 

        if (content) { 
         //content = $sanitize(content); 
         //content = $sanitize("<code>" + content + "</code>"); 
        } else { 
         content = fieldName + " does not contain any content."; 
        }; 
        var myAlert = $mdDialog.alert({ 
         title: data.FILE_NAME, 
         content: content, 
         ok: 'Close' 
        }); 
        $mdDialog 
         .show(myAlert) 
         .finally(function() { 
          myAlert = undefined; 
         }); 
       }; 

任何想法?

回答

0

把你自己的解決方案post在谷歌組(因此它保持爲所有的引用):

angular.module('myApp', ['ngMaterial']) 
 
    .controller('mdDialogController', mdDialogController) 
 

 
mdDialogController.$inject = ["$mdDialog"] 
 

 
function mdDialogController($mdDialog) { 
 
    vm = this; 
 
    vm.show = function() { 
 
     var xml = "\ 
 
      <header> \ 
 
       <detail>\ 
 
        <item>item1</item>\ 
 
        <item>item2</item>\ 
 
       </detail> \ 
 
      </header>" 
 

 
     var myAlert = $mdDialog.alert({ 
 
     title: "Show me the XML", 
 
     content: xml, 
 
     ok: 'Close' 
 
     }); 
 
     $mdDialog 
 
     .show(myAlert) 
 
     .finally(function() { 
 
      myAlert = undefined; 
 
     }); 
 
    }; 
 
};
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="myApp"> 
 
<head> 
 
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/angular-material/0.11.4/angular-material.min.css" /> 
 
    <title>mdDialog test</title> 
 
</head> 
 
<body> 
 
<div ng-controller="mdDialogController as dialog"> 
 
    <md-button ng-click="dialog.show()"> 
 
     Show Dialog 
 
     </md-buton> 
 
    </div> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-animate.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-aria.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-resource.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular-sanitize.min.js"></script> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angular_material/0.11.4/angular-material.min.js"></script> 
 
    </body>

+1

我其實是想顯示XML作爲XML。我試圖按原樣顯示傳入文檔。我們既然已經切換到JSON,並且能夠很輕鬆地使用pre標籤來處理原始JSON的顯示。 –

+0

Json總是很好。更容易處理。 –