code: function tmplWrap(configs, main) {
    return function (param1, param2) {
      var ctx = this,
          data = arraySlice(arguments);
      return main(configs, ctx && ctx._njCtx ? assign({}, ctx, {
        data: arrayPush(data, ctx.data)
      }) : {
        data: data,
        getData: getData,
  
        get $this() {
          return this.data[this.data.length - 1];
        },
  
        d: getData,
        icp: _getLocalComponents(param1 && param1._njParam ? param2 : param1),
        _njCtx: true
      });
    };
  }
docs: 构建可运行的模板函数