AngularDart文本区域安全HTML字符串编辑器



在我的AngularDart应用程序中,我有一个大小限制(160字符)的小/简单文本我可以显示html字符串和剩下的字符:

<textarea class="form-control" name="description" id="description"  ng-model="consent.inputDescription" rows="3"></textarea>
<p>Remaining chars: {{consent.getRemainingChars()}}</p>

它不工作与html字符,如&egrave;

ng-bind-html指令可以正确显示html字符串,但控制器内的字符串不解释,所以我不能正确计算剩余的字符

在AngularJS中,严格的上下文转义服务($sce)对完成这项工作很有用。我没有在AngularDart中找到它。在AngularDart中是否有类似的实现?

这个实现工作,等待更好:-/也许AngularDart可以简化这段代码。

我用

捕获输入字段的所有事件
//handle text aera events
query("#description")
  ..onChange.listen(handler)
  ..onKeyDown.listen(handler)
  ..onKeyUp.listen(handler)
  ..onCut.listen(handler)
  ..onPaste.listen(handler);
所以我可以在处理程序中计算剩下的字符
void handler(Event event) {
  remainingChars = _getRemainingChars();
}

剩余字符使用textarea值(不安全)

计算
_getRemainingChars() {
  int nbChars = 160-_getUnsafeDescription().length;
  return nbChars;
}

我阅读编辑后的文本:

_getUnsafeDescription(){
  var textarea = _shadowRoot.query('#description');
  return textarea.value;
}

文本区域绑定html内容

<textarea class="form-control" name="description" id="description"  ng-bind-html="consent.inputDescription" rows="3"></textarea>
<p ng-if="consent.remainingChars">Remaining chars: {{consent.remainingChars}}</p>

不安全的编辑字符串post,转义并存储在后端

最新更新