How to run a method with @click inside a template sheet modal? not working in my case

in my case selectThis and changeMethod does not fire!

any tip how to call them from inside this template sheet modal using @click?

                    var tmpl = '<div class="sheet-modal">\
                    <div class="toolbar">\
                    <div class="toolbar-inner">\
                    <div class="left"><a class="link sheet-close">Cancel</a></div>\
                    <div class="right">\
                    <a @click="changeMethod" class="link">Change</a>\
                    </div>\
                    </div>\
                    </div>\
                    <div class="sheet-modal-inner">\
                    <div class="list simple-list">\
                    <ul>\
                    {{#each this}}\
                    <li>\
                        <a href="#" @click="selectThis(\'{{id}}\')" class="item-link item-content">\
                            <div class="item-media"><i class="f7-icons size-14">card</i></div>\
                            <div class="item-inner">\
                                <div class="item-title">\
                                    {{item.brand}}\
                                </div>\
                            <div class="item-after">**** {{item.last4}}</div>\
                            </div>\
                        </a>\
                    </li>\
                    {{/each}}\
                    </ul>\
                    </div>\
                    </div>';

                    var dynamicSheet = app.sheet.create({
                        content: Template7.compile(tmpl)(filteredMethod),
                        // Events
                        on: {
                            open: function(sheet) {
                                console.log('Sheet open');
                            },
                            opened: function(sheet) {
                                console.log('Sheet opened');
                            },
                        }
                    });

                    dynamicSheet.open();

thanks for any tips!

I think I found a solution:

                    var tmpl = '<div class="sheet-modal">\
                    <div class="toolbar">\
                    <div class="toolbar-inner">\
                    <div class="left"><a class="link sheet-close">Cancel</a></div>\
                    <div class="right">\
                    <a  class="link change-method">Change</a>\
                    </div>\
                    </div>\
                    </div>\
                    <div class="sheet-modal-inner">\
                    <div class="list">\
                    <ul>\
                    {{#each this}}\
                    <li>\
                        <a href="#" data-id="{{id}}" class="item-link item-content select-this">\
                            <div class="item-media"><i class="f7-icons size-14">creditcard</i></div>\
                            <div class="item-inner">\
                                <div class="item-title">\
                                    {{item.brand}}\
                                </div>\
                            <div class="item-after">**** {{item.last4}}</div>\
                            </div>\
                        </a>\
                    </li>\
                    {{/each}}\
                    </ul>\
                    </div>\
                    </div>';

                    var dynamicSheet = app.sheet.create({
                        content: Template7.compile(tmpl)(filteredMethod),
                        // Events
                        on: {
                            open: function(sheet) {
                                console.log('Sheet open');

                                $(".sheet-modal").on('click', '.select-this', function(e) {
                                    var id = $(this).attr('data-id');
                                    self.selectThis(id);
                                })

                            },
                            opened: function(sheet) {
                                console.log('Sheet opened');
                            },
                        }
                    });
1 Like