diff --git a/docs/content/guide/directive.ngdoc b/docs/content/guide/directive.ngdoc
index 09f46420b..39c307402 100644
--- a/docs/content/guide/directive.ngdoc
+++ b/docs/content/guide/directive.ngdoc
@@ -172,15 +172,6 @@ For example, we could fix the example above by instead writing:
```
-If one wants to modify a camelcased attribute (SVG elements have valid camelcased attributes), such as `viewBox` on the `svg` element, one can use underscores to denote that the attribute to bind to is naturally camelcased.
-
-For example, to bind to `viewBox`, we can write:
-
-```html
-
-```
-
## Creating Directives
diff --git a/src/ng/compile.js b/src/ng/compile.js
index 21dc09f40..7254dab9f 100644
--- a/src/ng/compile.js
+++ b/src/ng/compile.js
@@ -1051,10 +1051,7 @@ function $CompileProvider($provide, $$sanitizeUriProvider) {
// support ngAttr attribute binding
ngAttrName = directiveNormalize(name);
if (isNgAttr = NG_ATTR_BINDING.test(ngAttrName)) {
- name = name.replace(PREFIX_REGEXP, '')
- .substr(8).replace(/_(.)/g, function(match, letter) {
- return letter.toUpperCase();
- });
+ name = snake_case(ngAttrName.substr(6), '-');
}
var directiveNName = ngAttrName.replace(/(Start|End)$/, '');
diff --git a/test/ng/compileSpec.js b/test/ng/compileSpec.js
index 3f11dbb42..992d7edc5 100755
--- a/test/ng/compileSpec.js
+++ b/test/ng/compileSpec.js
@@ -5040,21 +5040,16 @@ describe('$compile', function() {
expect(element.attr('href')).toBe('test/test');
}));
- it('should work if they are prefixed with x- or data- and different prefixes', inject(function($compile, $rootScope) {
+ it('should work if they are prefixed with x- or data-', inject(function($compile, $rootScope) {
$rootScope.name = "Misko";
- element = $compile('')($rootScope);
+ element = $compile('')($rootScope);
expect(element.attr('test2')).toBeUndefined();
expect(element.attr('test3')).toBeUndefined();
expect(element.attr('test4')).toBeUndefined();
- expect(element.attr('test5')).toBeUndefined();
- expect(element.attr('test6')).toBeUndefined();
$rootScope.$digest();
expect(element.attr('test2')).toBe('Misko');
expect(element.attr('test3')).toBe('Misko');
expect(element.attr('test4')).toBe('Misko');
- expect(element.attr('test5')).toBe('Misko');
- expect(element.attr('test6')).toBe('Misko');
}));
describe('when an attribute has a dash-separated name', function () {
@@ -5088,35 +5083,6 @@ describe('$compile', function() {
});
- describe('when an attribute has an underscore-separated name', function() {
-
- it('should work with different prefixes', inject(function($compile, $rootScope) {
- $rootScope.dimensions = "0 0 0 0";
- element = $compile('')($rootScope);
- expect(element.attr('viewBox')).toBeUndefined();
- $rootScope.$digest();
- expect(element.attr('viewBox')).toBe('0 0 0 0');
- }));
-
- it('should work if they are prefixed with x- or data-', inject(function($compile, $rootScope) {
- $rootScope.dimensions = "0 0 0 0";
- $rootScope.number = 0.42;
- $rootScope.scale = 1;
- element = $compile('')($rootScope);
- expect(element.attr('viewBox')).toBeUndefined();
- $rootScope.$digest();
- expect(element.attr('viewBox')).toBe('0 0 0 0');
- expect(element.find('filter').attr('filterUnits')).toBe('0.42');
- expect(element.find('feDiffuseLighting').attr('surfaceScale')).toBe('1');
- expect(element.find('feSpecularLighting').attr('surfaceScale')).toBe('1');
- }));
- });
-
describe('multi-element directive', function() {
it('should group on link function', inject(function($compile, $rootScope) {
$rootScope.show = false;