【发布时间】:2015-08-28 13:31:28
【问题描述】:
我的应用有两个部分,一个输入部分和一个“视图”部分。它基本上是一个电子邮件代码生成器,它为电子邮件的每个部分使用预定义的模板。我要做的是在更新代码示例时从代码示例中获取内容,并将它们放在视图 div 中并呈现它们。这是输入的简化版本:
<div controller="myController">
<div class="row">
<input type="text" name="myinput" ng-model="textinput"/>
</div>
<xmp type="banner" codeinject></xmp>
</div>
这是将电子邮件代码注入 xmp 标签的指令:
app.directive('codeinject', function() {
return {
templateUrl: function(elem, attr){
return 'partials/email-code/'+attr.type+'.html';
}
};
})
下面是 xmp 标记(适合本示例)的示例:
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td align="center" valign="middle">{{ textinput }}</td>
</tr>
</tbody>
</table>
我遇到的问题是我无法找到一种方法来从每个 <xmp> 标记中获取内容并将其附加到我的查看元素中。元素可以重新组织、删除和添加,因此任何解决方案都应考虑到这一点。这可以像创建一个新指令来附加<xmp> 标签一样简单吗?我试过ng-change,但因为它不是输入元素,所以它不起作用。
也许解决方案是向$rootScope 添加一个变量,并将每个<xmp> 的内容添加到该变量,并将ng-bind-html 的最终结果添加到视图?
【问题讨论】:
标签: javascript jquery html angularjs