mirror of
https://github.com/Hopiu/angular.js.git
synced 2026-03-17 07:40:22 +00:00
proper handlig of $element in filters
This commit is contained in:
parent
9abd10e7b8
commit
1de82283db
2 changed files with 9 additions and 6 deletions
|
|
@ -76,8 +76,8 @@ function compileBindTemplate(template){
|
|||
});
|
||||
bindTemplateCache[template] = fn = function(element){
|
||||
var parts = [], self = this,
|
||||
oldElement = this.hasOwnProperty('$element') ? this.$element : undefined;
|
||||
this.$element = element;
|
||||
oldElement = this.hasOwnProperty('$element') ? self.$element : undefined;
|
||||
self.$element = element;
|
||||
for ( var i = 0; i < bindings.length; i++) {
|
||||
var value = bindings[i].call(self, element);
|
||||
if (isElement(value))
|
||||
|
|
@ -86,7 +86,7 @@ function compileBindTemplate(template){
|
|||
value = toJson(value, true);
|
||||
parts.push(value);
|
||||
};
|
||||
this.$element = oldElement;
|
||||
self.$element = oldElement;
|
||||
return parts.join('');
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -73,11 +73,14 @@ describe("directives", function(){
|
|||
});
|
||||
|
||||
it('should have $element set to current bind element', function(){
|
||||
angularFilter.myFilter = function(){
|
||||
this.$element.text('HELLO');
|
||||
var innerText;
|
||||
angularFilter.myFilter = function(text){
|
||||
innerText = this.$element.text();
|
||||
return text;
|
||||
};
|
||||
var scope = compile('<div>before<div ng:bind-template="{{0|myFilter}}"></div>after</div>');
|
||||
var scope = compile('<div>before<div ng:bind-template="{{\'HELLO\'|myFilter}}">INNER</div>after</div>');
|
||||
expect(scope.$element.text()).toEqual("beforeHELLOafter");
|
||||
expect(innerText).toEqual('INNER');
|
||||
});
|
||||
|
||||
});
|
||||
|
|
|
|||
Loading…
Reference in a new issue