diff options
| author | Igor Minar | 2012-05-03 21:42:51 -0700 | 
|---|---|---|
| committer | Igor Minar | 2012-05-03 23:31:28 -0700 | 
| commit | ee579a071a91cbade729d3cb97e097568e71f8fc (patch) | |
| tree | 228eae91ae4f69d089755219d878d0a7f521a34f /src | |
| parent | 5df7e6fae5c1045b8d988a6fa06fef674a4527da (diff) | |
| download | angular.js-ee579a071a91cbade729d3cb97e097568e71f8fc.tar.bz2 | |
feat(jqLite): support data() getter and data(obj) setter
... just like jquery does
Diffstat (limited to 'src')
| -rw-r--r-- | src/jqLite.js | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/src/jqLite.js b/src/jqLite.js index df878609..efe3ec31 100644 --- a/src/jqLite.js +++ b/src/jqLite.js @@ -215,7 +215,21 @@ function JQLiteData(element, key, value) {      }      cache[key] = value;    } else { -    return cache ? cache[key] : null; +    if (isDefined(key)) { +      if (isObject(key)) { +        if (!cacheId) element[jqName] = cacheId = jqNextId(); +        jqCache[cacheId] = cache = (jqCache[cacheId] || {}); +        extend(cache, key); +      } else { +        return cache ? cache[key] : undefined; +      } +    } else { +      if (!cacheId) element[jqName] = cacheId = jqNextId(); + +      return cache +          ? cache +          : cache = jqCache[cacheId] = {}; +    }    }  } | 
