gpt4 book ai didi

javascript - AngularJS - 使用 ngSanitize 动态创建的 <textarea> 不显示(其他元素显示)

转载 作者:行者123 更新时间:2023-11-28 15:15:09 26 4
gpt4 key购买 nike

我是 AngularJS 新手,尝试在单击按钮时动态创建textarea。我正在使用 ngSanitize 插件,代码有效,我可以插入带有一些文本的普通 div ,但是当需要创建一个 textarea 它就是行不通。该元素甚至不显示。

HTML:

<button class="btn bg-info" ng-click="insertReplyBox()">Reply</button>
<br>
<div class="row">
<div class="col-lg-2" id="replyBox">
<div ng-bind-html="replyBoxHTML"></div>
<div ng-bind-html="replyBoxHTML1"></div>
</div>
</div>

JS( Angular Controller )

app.controller('messagesReadController', function($scope) {
$scope.insertReplyBox = function() {
console.log("reply clicked");

$scope.replyBoxHTML = '<div>This works!!</div>';
$scope.replyBoxHTML1 = '<textarea col="4" row="20" placeholder="placeholder"></textarea>'; //this doesn't work
}
});

(我已在另一个文件中添加了 ngSanitize 依赖项,因此此处未显示。)

最佳答案

使用不安全

var app = angular.module('myApp', []);
app.controller('messagesReadController', function($scope) {
$scope.insertReplyBox = function() {
console.log("reply clicked");

$scope.replyBoxHTML = '<div>This works!!</div>';
$scope.replyBoxHTML1 = '<textarea col="4" row="20" placeholder="placeholder"></textarea>'; //this doesn't work
}
});

app.filter('unsafe', function ($sce) {
return function (val) {
return $sce.trustAsHtml(val);
};
});
<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<body>

<div ng-app="myApp" ng-controller="messagesReadController">

<button class="btn bg-info" ng-click="insertReplyBox()">Reply</button>
<br>
<div class="row">
<div class="col-lg-2" id="replyBox">
<div ng-bind-html="replyBoxHTML"></div>
<div ng-bind-html="replyBoxHTML1| unsafe" ></div>
</div>
</div>



</body>
</html>

关于javascript - AngularJS - 使用 ngSanitize 动态创建的 &lt;textarea&gt; 不显示(其他元素显示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com