В моем экземпляре есть свойство VIEW, которое в данный момент является функцией внутри объекта-аргумента(conf) нового экземпляра MyClass. Сейчас все работает, но как сделать так, чтобы VIEW стал строкой(или объектом) и объявлялся по типу
VIEW: `${this.DATA.title}`
при этом, чтобы this возвращала область conf, где this.DATA.title равна 'Title'. В данном случае this возвращает Window.
class MyClass {
constructor(conf) {
/** public props */
this.ENTRY = conf.ENTRY;
this.DATA = conf.DATA;
/** instance methods */
// get dom element
conf.$ = (el) => {
var all = document.querySelectorAll(el);
return all.length > 1 ? all : document.querySelector(el);
}
/** inits */
conf.$(this.ENTRY).innerHTML = conf.VIEW();
conf.LOGIC();
}
die() {
conf.$(this.ENTRY).innerHTML = '';
}
}
var app = new MyClass({
ENTRY: '#app',
DATA: {
title: 'Title'
},
VIEW() {
return `
<h1>${this.DATA.title}</h1>
`
},
LOGIC() {
console.log(this.$('h1'))
},
});