RealGrid2 가이드
Tip
Vue에서 Html렌더러 사용 시 함수호출 관련 팁

Vue with html-renderer global function

Vue에서 html렌더러 사용 시 Vue의 methods를 사용하기 위해선 window/global scope에서 사용 해주셔야 합니다.

html 렌더러로 생성한 버튼 클릭 시 이벤트가 호출되는 예제입니다.

  // Realgrid.vue
gridView.columnByName("Monetary").renderer = {
    type: "html",
    callback: function (grid, cell) {
        //
        var str = `
          <button onclick="globalFunction(${cell.index.itemIndex})">버튼1</button>
          &nbsp;
          <button onclick="globalFunction2(${cell.index.itemIndex})">버튼2</button>
        `;
        return str;
    },
};
 
created: function () {
    // eslint-disable-next-line no-undef
    functionOutsideVue(this); // function outside Vue scope called
},
 
methods: {
    callbackFunctionInsideVueComponent(itemIndex) {
        var v = gridView.getValues(itemIndex);
        alert(v.KorName);
    },
    callbackFunctionInsideVueComponent2(itemIndex) {
        var v = gridView.getValues(itemIndex);
        alert(v.Gender);
    },
},
 
window.functionOutsideVue = function (vuecomponent) {
  window.vm2 = vuecomponent;
};
 
// index.html
function globalFunction(itemIndex) {
    vm2.callbackFunctionInsideVueComponent(itemIndex);
}
function globalFunction2(itemIndex, event) {
    vm2.callbackFunctionInsideVueComponent2(itemIndex);
}

해당 예제 소스는 아래 링크에서 다운 받으실 수 있습니다.
https://github.com/realgrid/realgrid2-examples/tree/master/vue3_global_scope_sample (opens in a new tab)