我想做的事情:
我正在开发Angular SPA,并且我想在scope
中加载一些html内容以便显示它。
我做了什么:
根据SO问题(here和here),我创建了一个加载目标文件的函数,并将其内容加载到scope
中(代码来自Jason Sturges建议) :
function loadPage(href) {
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", href, false);
xmlhttp.send();
return xmlhttp.responseText;
}
与$scope.pageContent = loadPage("html_file.html")
问题:
那时,加载了html内容。问题是,它不是由Chrome解释,而是显示为纯文本' (我猜它是正确的术语),像这样:
<div><h4>...</h4></div>
我该怎么办?
答案 0 :(得分:3)
根据您的angularJs版本,它可以更改,但基于角度1.3,您应该将ng-bind-html指令与$sce服务一起使用:
在模板中:
@SuppressWarnings("serial")
@Entity
@Immutable
@Table(name = "T_ADDRESS_INFO")
public class AddressInfo implements java.io.Serializable {
public class Coordinate {
double latitude;
double longitude;
Coordinate(int latitude, int longitude) {
this.latitude = latitude;
this.longitude = longitude;
}
@Column(name = "LATITUDE")
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
@Column(name = "LONGITUDE")
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
}
private Long id;
private String street;
private String address;
private String code;
private String city;
private String phone;
private String fax;
private String email;
private String website;
private String info;
public AddressInfo() {
}
在控制器中:
<div ng-bind-html="securedHtml"></div>
和其他答案一样,使用内部$http服务(或ngResource)进行ajax调用。