whole_func_string: function instanceScopedDirective(tar, dec, dname) {
          // don't compile child scope
          if (scopedChilds && scopedChilds.length && util.some(scopedChilds, function (item) {
              return tar == item
          })) return
  
          var drefs = tar._diretives || []
          // prevent repetitive binding
          if (drefs && ~util.indexOf(drefs, dname)) return
  
          var def = _diretives[dname]
          var expr = _getAttribute(tar, dec) || ''
          drefs.push(dec)
          tar._diretives = drefs
          _removeAttribute(tar, dec)
  
          var d = new Directive(vm, tar, def, dec, expr, scope)
          $directives.push(d)
      }
func_code_string: function instanceScopedDirective(tar, dec, dname) {
          // don't compile child scope
          if (scopedChilds && scopedChilds.length && util.some(scopedChilds, function (item) {
              return tar == item
          })) return
  
          var drefs = tar._diretives || []
          // prevent repetitive binding
          if (drefs && ~util.indexOf(drefs, dname)) return
  
          var def = _diretives[dname]
          var expr = _getAttribute(tar, dec) || ''
          drefs.push(dec)
          tar._diretives = drefs
          _removeAttribute(tar, dec)
  
          var d = new Directive(vm, tar, def, dec, expr, scope)
          $directives.push(d)
      }
func_documentation_string: compile scoped directives