AngularJS使用双大括号表示法呈现HTML
我有包含HTML的JSON变量 通过这样做:AngularJS使用双大括号表示法呈现HTML,html,angularjs,Html,Angularjs,我有包含HTML的JSON变量 通过这样做:{{source.HTML}Angular显示的是和,而不是 我能做些什么来呈现实际的HTML 更新: 这是我的控制器: app.controller('objectCtrl', ['$scope', '$http', '$routeParams', function($scope, $http, $routeParams) { var productId = ($routeParams.productId || ""); $
{{source.HTML}
Angular显示的是
和
,而不是
我能做些什么来呈现实际的HTML
更新:
这是我的控制器:
app.controller('objectCtrl', ['$scope', '$http', '$routeParams',
function($scope, $http, $routeParams) {
var productId = ($routeParams.productId || "");
$http.get(templateSource+'/object?i='+productId)
.then(function(result) {
$scope.elsevierObject = {};
angular.extend($scope,result.data[0]);
});
}]);
在我的HTML中,我可以使用:
<div>{{foo.bar.theHTML}}</div>
{{foo.bar.theHTML}
您想显示HTML(如Hello
)还是呈现HTML(如Hello)
- 如果你想展示它,花括号就足够了。但是,如果您拥有的html具有html实体(如
),则需要手动取消其scape,请参阅stuff
- 如果要渲染它,需要使用
指令,而不是curcly括号(仅供参考,它是ng bind html
指令的快捷方式)。您需要使用ng bind
告诉Angular注入该指令的内容是安全的$sce.trustAsHtml
angular.module('test',[]).controller('ctrl',function($scope,$sce){
$scope.HTML='Hello';
$scope.trust=$sce.trustAsHtml;
});代码>
显示:{{HTML}
提供:
look into Hi@Seth的可能副本这不是一个副本,这一个集中在大括号符号上。您的html和控制器是不同的。我看不出您在哪里设置了$scope.foo.bar.theHTML
。注意,我已经用更多的信息更新了我的答案,你不能直接使用吗?你可以。只需确保您正在引用ngSanitize。