[英]Add text field using ng-bind-html
我正在嘗試使用ng-bind-html在“ p”標簽內創建一個文本字段。 它不是渲染輸入標簽,而是渲染其他標簽。
<!doctype html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-sanitize.min.js"></script>
</head>
<body>
<div ng-app="ss" ng-controller="formController">
<p ng-bind-html="hh"></p>
</div>
<script>
var myApp = angular.module("ss", ['ngSanitize']);
function formController ($scope) {
$scope.hh="<b>Hello</b><input type='text'> ";
}
</script>
</body>
</html>
在輸出中,我得到的是粗體字“ Hello”,但沒有輸入字段。
(我知道我可以將文本字段直接放在html中,但是出於某些原因,我需要這樣做)
這是因為ngSanitize
認為<input>
是不安全的。 如果仍然要執行此操作,則必須明確信任它:
.controller('formController', function ($sce, $scope) {
$scope.hh = $sce.trustAsHtml('<b>Hello</b><input type="text" />');
}
另請參見此簡短演示 。
順便說一句,您應該正確地注冊您的控制器(使用.controller()
),因為在Angular的最新版本中不建議在全局對象中查找它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.