繁体   English   中英

在Angularjs中渲染HTML和CSS

[英]Rendering HTML and CSS in Angularjs

如果我有一个带示波器的控制器

 $scope.post.description = "<style>#bo{font-weight:bold}</style> <h5 id='bo'> HI</h1> <p>My name is bamidele</p>"; 

我如何在视图中渲染它。 它应该同时呈现html和css

我试过了

$ sce.trustAsCss($ sce.trustAsHtml($ scope.post.description));

但这没用

请检查以下工作示例: http : //plnkr.co/edit/Guj3AuNrNNZ5F9EzkUxz?p=preview

下载文件-angular-sanitize.js并将其包含在您的应用程序中。

JS-

var app = angular.module('myApp', ["ngSanitize"]);       

app.controller('myController', function($scope,$compile) {
   $scope.html = '<p class="text-color">Your html code</p>';
});

的HTML

<div ng-app="myApp">
    <div ng-controller="myController">
         <p ng-bind-html="html"></p>
    </div>
</div>

的CSS

.text-color {
    color: #0000CC;
}

由于您的描述已绑定到$scope ,因此通常可以在视图中使用双花括号表示法{{}}来访问它:

<p> {{post.description}} </p> 
<!-- will generate "<style>#bo{font-weight:bold}</style> <h1 id='bo'> HI</h1> <p>My name is bamidele</p>"" -->
<!-- Note : you started with a h5 tag but closed with a h1 tag in your question --> 

如果您将样式,逻辑和内容分开,这将是更简洁和最佳的实践方式:

controller.js

controller('DemoCtrl', ['$scope', function ($scope) {
    $scope.description =  '<h5 id='bo'> HI</h5> <p>My name is bamidele</p>';
}])

style.css

#bo{
    font-weight: bold;
}

view.html

{{post.description}} // will generate <h5 id='bo'> HI</h5> <p>My name is bamidele</p>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM