在我的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类似的实现?
答案 0 :(得分:2)
此实施有效,等待更好: - / 也许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>
不安全编辑的字符串帖子,转义并存储在后端