我正在使用Angular和一个contenteditable div的组合来尝试创建一个双向绑定,以后我可以使用Angular控制器来操作数据。一切都运行得很好,除了某些html字符进入模型之外。
例如,当我输入&
时,如果有不间断的空格,我会&
获得nbsp;
如何修改contenteditable指令以清除编码值并仅保留未编码的版本?
Plunkr在这里 - http://plnkr.co/edit/ToylycanYcMJq15K36Yd?p=preview
你会在满意的指令中看到我有这条线:
html = element.html().replace(' ','');
尝试替换
值,但它没有影响......
答案 0 :(得分:2)
虽然您可以执行this之类的操作,但我认为您最好使用input
或textarea
。根据{{3}} AngularJS模型仅支持input
,select
或textarea
。
对于您遇到的同一问题,也存在docs问题。
如果您打算使用contenteditable div:
,这是代码var myApp = angular.module('app',[]);
myApp.controller('chatterCtrl', ['$scope', function($scope) {
$scope.$watch('comment', function(){
if($scope.comment != undefined){
$scope.comment = unescape($scope.comment);
}
}, true);
}]);