[英]angular.js binding expressions
我有一個類似pastebin的應用。 我希望能夠粘貼代碼,並將代碼輸出給用戶,並帶有一些突出顯示和其他奇特之處。 該代碼可以是任何語言。 我為此使用Google的prettify.js。
該代碼以字符串形式保存在db中。 這是我如何獲取數據的方法:
$http.get('/paste/' + $scope.paste).success(getCallback);
var getCallback = function(data) {
setTimeout(function() {
$scope.paste = data[0].code;
$scope.$apply();
}, 0);
};
到現在為止還挺好。 當我想對粘貼的代碼應用突出顯示功能時,我已經這樣做了。
app.filter('pretty', function() {
return function(text) {
// a method in the prettify.js
return prettyPrintOne(text, '', true);
};
});
我像這樣應用它:
<pre ng-bind-html="paste|pretty"></pre>
結果是一個漂亮的粘貼。 但是,當存在諸如<?php
之類的標簽但無法理解的標簽或純html元素<div>
標簽時,角度消毒器會失敗。因此,我該如何將帶有html格式的表達式綁定到粘貼。
如果我只執行ng-bind
我實際上會得到正確的數據顯示,包括<?php
(在html注釋中)之類的標簽,但是格式超出了窗口。
看來prettify.js無法正確理解PHP。 當您輸入一些PHP代碼時,它只會創建未注釋的行。 盡管可以將$ sce與JavaScript和“ prettify.js”支持的其他語言結合使用:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.