Procházet zdrojové kódy

allow overwritting mutationHandlers

Evan You před 13 roky
rodič
revize
343ea299d0
2 změnil soubory, kde provedl 7 přidání a 1 odebrání
  1. 5 1
      src/directives/each.js
  2. 2 0
      src/main.js

+ 5 - 1
src/directives/each.js

@@ -66,6 +66,8 @@ function watchArray (arr, callback) {
 
 module.exports = {
 
+    mutationHandlers: mutationHandlers,
+
     bind: function () {
         this.el.removeAttribute(config.prefix + '-each')
         var ctn = this.container = this.el.parentNode
@@ -80,7 +82,9 @@ module.exports = {
         this.collection = collection
         var self = this
         watchArray(collection, function (mutation) {
-            mutationHandlers[mutation.method].call(self, mutation)
+            if (self.mutationHandlers) {
+                self.mutationHandlers[mutation.method].call(self, mutation)
+            }
         })
         collection.forEach(function (data, i) {
             var seed = self.buildItem(data, i)

+ 2 - 0
src/main.js

@@ -26,10 +26,12 @@ api.controller = function (id, extensions) {
 }
 
 api.directive = function (name, fn) {
+    if (!fn) return directives[name]
     directives[name] = fn
 }
 
 api.filter = function (name, fn) {
+    if (!fn) return filters[name]
     filters[name] = fn
 }