Компонент OWL не рендеринг в пользовательском макете - вероятно, проблему XML -шаблонаJavascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 Компонент OWL не рендеринг в пользовательском макете - вероятно, проблему XML -шаблона

Сообщение Anonymous »

Я в настоящее время работаю над Odoo 18 и пытаюсь отображать простой компонент совы в пользовательской компоновке приборной панели. Несмотря на успешную загрузку всех связанных файлов JS, компонент не появляется в пользовательском интерфейсе, и я подозреваю, что проблема заключается в том, как обрабатывается шаблон XML.

Код: Выделить всё

my_module/static/src/views/dashboard_page_layout.xml< /code> < /p>
мои файлы JS находятся в:
my_module/static/src/js/< /code> < /p>

 📦 файлы < /h3>
[h4]HelloBox.js
[/h4]

Код: Выделить всё

/** @odoo-module **/

import { Component, xml } from '@odoo/owl';

export class HelloBox extends Component {}

HelloBox.template = xml`


Click me

`;

HelloBox.props = {
title: { type: String },
};

HelloBox.prototype.sayHello = function () {
alert('Hello from OWL!');
};
< /code>

[h4]HelloBox.xml
[/h4]

Код: Выделить всё





Click me



< /code>

[h4]init_owl.js
[/h4]

Код: Выделить всё

/** @odoo-module **/

import { mount, whenReady } from '@odoo/owl';
import { HelloBox } from './HelloBox';

whenReady(() => {
const root = document.getElementById('hello-box-root');
console.log('Mounting HelloBox in:', root);

if (root) {
mount(HelloBox, {
target: root,
props: { title: 'Witaj z OWL!' },
});
}
});
в моей DASHBOARD_PAGE_LAYOUT.XML , я вручную размещен:

Код: Выделить всё

< /code>

 🧩 Проблема фокусировка < /h3>
✅  Успешно нагрузки JS < /strong>, console.log < /code> подтверждает, что цель крепления существует, и код компонента является правильным. Правильно, несмотря на то, что он включен в активы. < /p>
В некоторых случаях я даже получаю: < /p>
TypeError: Cannot read properties of undefined (reading 'defaultProps')
< /code>
, который обычно указывает на то, что Сова пытается установить неполный или неопределенный компонент-возможно, из-за того, что шаблон XML не был должным образом скомпилирован или инъецирован. PrettyPrint-Override ">'assets': {
'web.assets_frontend': [
'my_module/static/src/js/HelloBox.xml',
'my_module/static/src/js/HelloBox.js',
'my_module/static/src/js/init_owl.js',
],
},
< /code>
Я также попытался добавить xml в web.assets_qweb < /code>, web.assets_backend < /code> и изменение порядка загрузки, но проблема остается. < /p>

 🙏. OWL/ODOO 18 При работе с Web.Sassets_frontend 
? JS -файл вместо этого предпочтительный подход?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... late-issue
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»