【发布时间】:2017-10-11 16:07:29
【问题描述】:
我想动态更改表单输入,并且我尝试使用 ng-bind-html 进行此操作,但仅显示标签,文本框不会出现在 DOM 上。这里必须在 ctrl.content 中写入什么取决于来自服务器的值。
注意
类型值将来自服务器,它可以是动态的
HTML
<div ng-bind-html="ctrl.content">
控制器
function myCtrl(type) {
var ctrl = this;
switch (type) {
case 1:
ctrl.content = " <div> Input : <input type=\"text\" > </div> ";
break;
case 2:
ctrl.content = " <div> Input : <input type=\"textarea\" > </div> ";
break;
default:
}
Dom 元素:
<div class="padding ng-binding ng-scope" ng-bind-html="addMeassurments.content"> <div> Input : </div> </div>
【问题讨论】:
-
看起来像 jQueryish.. 使用 ng-show/hide/if/switch 怎么样?
-
要显示的内容是动态的,所以我不能使用ng-if/hide。
-
您正在为控制器分配值 - 您不应该分配 $scope 吗?
-
查看我的更新答案
标签: javascript html angularjs html-sanitizing