簡體   English   中英

使用ng-bind-html添加文本字段

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM