我们的应用程序正在通过引导程序(angular-ui bootstrap)从 jQuery 移植到 AngularJS。
以下优秀文章介绍的一个方便的功能是在 URL 字段中添加“http://”前缀(如果它还没有前缀):http ://www.robsearles.com/2010/05/jquery-验证-url-添加-http/
我正在尝试通过指令在 AngularJS 中实现相同的功能,但无法获取指令来更改正在键入的 ng-model 的值。
我已经开始尝试简单地尝试在现在的每个更改上添加一个“http://”前缀(我可以稍后添加逻辑以仅在需要时添加它)。http://jsfiddle.net/LDeXb/9/
app.directive('httpPrefix', function() {
return {
restrict: 'E',
scope: {
ngModel: '='
},
link: function(scope, element, attrs, controller) {
element.bind('change', function() {
scope.$apply(function() {
scope.ngModel = 'http://' + scope.ngModel;
});
});
}
};
});
谁能帮我把这个写回ngModel。另外,我需要应用这个新指令的字段已经有一个具有隔离范围的指令,所以我假设我不能有另一个具有隔离范围的指令 - 如果是这样,我可以在没有隔离范围的情况下实现它吗?