我得到像这样的JSON
private void Changed(int a)
{
Thread.Sleep(350);
pbPlane1.Location = new Point(525-(25*a), 235);
pbMap1.Refresh(); // refresh the background picturebox
}
从服务器我最终迭代描述对象并用两列填充表行:一列用于键,一列用于值。
我尝试使用{
"lots of":"keys"
"description" : {
"key":"Some sample key",
"value":"This is the markup™"
}
}
标记<td>
以及将ng-bind-html
注入我的控制器并使用$sce
,但到目前为止字符串始终显示为JSON。并非每个值都是HTML,但我可以根据密钥轻松检测HTML是否可能。当我在trustAsHtml
上放入指令时,如果没有HTML,它就没有显示任何内容。我有兴趣使用可以在值中使用HTML但不需要它的东西,所以我可以显示
HTML片段
td
答案 0 :(得分:1)
Angular在设计时考虑了安全性,并且会阻止您尽可能地从原始字符串显示HTML - 以防止各种注入攻击。
以下是您的问题的解决方法:AngularJS: Insert HTML from a string。通常,您应该使用ng-bind-html
ng-bind
def rep():
goes+=1
firstnum = int(raw_input("first number?") #I am guessing you're using python 2.7
secondnum = int(raw_input("second number?")
operation = raw_input("operation")
if operation=="+":
sum = firstnum+secondnum
return sum
elif operation=="-":
diff = firstnum-secondnum
return diff
elif operation=="*":
product = firstnum*secondnum
return product
elif operation=="/":
quo = float(firstnum)/float(secondnum) #to make sure there's no rounding
return quo
else:
raise ValueError("Improper entry!")
(花括号使用)。
答案 1 :(得分:1)
我在这里创造了一个快速的小提琴: https://jsfiddle.net/frishi/mvw97s3q/6/
我使用angular-sanitize
,我不确定你是否提到在模块依赖列表中注入。无论哪种方式,该示例仅使用ng-bind-html
相关文档页面:https://docs.angularjs.org/api/ng/directive/ngBindHtml
它通过在要显示HTML字符串的元素上使用指令ng-bind-html
来工作。您可以这样使用它:
<p ng-bind-html="data.firstName"></p>
假设data.firstName = "<strong>FeeFee</strong>"
或类似的东西。
我还想补充说,由于合法的安全问题,Angular本身不允许这样做。这和允许任意HTML呈现的事实可能并不总能产生理想的结果。由于允许传递的某些HTML,您的页面布局很可能会中断。