gpt4 book ai didi

javascript - Odoo10 - 如何执行 JavaScript

转载 作者:行者123 更新时间:2023-12-03 05:00:59 25 4
gpt4 key购买 nike

我一定做错了什么:

odoo.define('my_module.popups', function (require) {
'use strict';
var ajax = require('web.ajax');
var core = require('web.core');
var _t = core._t;
var qweb = core.qweb;
ajax.loadXML('/my_module/static/xml/templates.xml', qweb);

var data = {modal_title: 'This is a popup!',modal_body: 'testtest'};
var p = qweb.render("my_module.popup1_template", data);
p.prependTo('body');
});

我不确定我是否理解这一点。定义里面的代码永远不会被执行。我阅读了很多关于如何创建小部件等的文档和示例。但是文档从未解释如何使用/调用放入“定义”中的这些内容。

我也可以手动创建一个弹出窗口并将其添加到 body 元素前面,但我想以 odoo 方式执行此操作。

最佳答案

我听到了,我认为 Odoo js 框架的 secret 是很多人喜欢保守 secret 的 secret 武器。我相信,如果您在过去 4 年里一直在使用 Backbone 、requirejs 和 underscore,那么这一切都是完全显而易见的。遗憾的是那不是我。

如果您查看 /addons/web/static/src/js/widgets/notification.js 中的通知模块,您应该能够看到它们在做什么。一些可能对您有所帮助的事情是进行一些登录,以查看您的脚本是否正在加载以及何时加载。对于您想要做的事情,您将需要提供一些事件映射。我提到的文件中有一个例子。在您的 jsmodule 中,您将创建一个对象,该对象具有如下所示的 events 属性。

events: {
'click .o_close': function(e) {
e.preventDefault();
this.destroy(true);
},
'hover .my_widget_class': function(e){
// your code here
},
},

不要从字面上理解上面的代码。您需要一个事件来触发您的小部件在某个时刻附加到 dom。

关于javascript - Odoo10 - 如何执行 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42227474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com