在我的服务器端,我清理了所有内容。
在我的Angular app客户端,我在某些情况下做过同样的事情,例如然而,我现在正在考虑不应该将它应用于每个输入字段吗?
所以我看过$sanitize('some string')
但是有没有办法在一些顶级应用程序级别应用它,而不必为每个实例输入字段输入?
(假设这是明智之举 - 如果不热衷于听取建议)。
感谢。
答案 0 :(得分:4)
您可以创建一个您将调用的指令"输入",然后它将应用于您应用的所有输入。
在指令中,您可以向$ ngModel添加解析器,以便在值更改时自动应用$ sanitize。
看起来像这样:
myApp.directive('input', function($sanitize) {
return {
restrict: 'E',
require: '?ngModel',
link: function (scope, element, attrs, ngModel) {
if(ngModel !== undefined){
ngModel.$parsers.push(function(value){
return $sanitize(value);
});
}
}
};
});