Odoo 10 - JS中require()函数的问题



>我创建了一个自定义模块来在网站中显示日历

我的 In JS 无法调用 require()。

我的代码

website_calendar_block.js

odoo.define('website_calendar_block', function(require) {    "use strict";
 var website = require('website.website');
alert(website);
});

website_calendar_templates.xml

<template id="website_calendar_assets_frontend" inherit_id="website.assets_frontend" name="Calendar block assets">
<xpath expr="/t" position="inside">
<script type="text/javascript" src="/website_calendar/static/src/js/website_calendar_block.js"></script>
</xpath> </template>
<div class="calendar"> <span class="fa fa-2x fa-calendar"/></div>

我的问题是加载网站页面时收到警报 警报(网站)中未定义;

任何人都可以帮我解决这个问题吗?

这是

website.assets_fronted:

<template id="assets_frontend" inherit_id="web.assets_frontend" name="Website Frontend Assets">
<xpath expr="//link[last()]" position="after">
    <link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.less"/>
    <link rel="stylesheet" type="text/less" href="/website/static/src/less/website.ui.components.less"/>
    <link rel="stylesheet" type="text/less" href="/website/static/src/less/website.wrapwrap.less"/>
    <link rel="stylesheet" type="text/less" href="/website/static/src/less/website.snippets.less"/>
    <link rel="stylesheet" type="text/css" href="/website/static/src/less/website.zoomodoo.less"/>
</xpath>
<xpath expr="//script[last()]" position="after">
    <script type="text/javascript" src="/website/static/src/js/website.js"></script>
    <script type="text/javascript" src="/website/static/src/js/website.share.js"></script>
    <script type="text/javascript" src="/website/static/src/js/website.snippets.animation.js"></script>
    <script type="text/javascript" src="/website/static/src/js/website.zoomodoo.js"></script>
</xpath>
</template>

你如何用你的 xpath 找到 t 元素?如果它没有抛出错误,它一定找到了其他东西,所以你的 Javascript 代码可能在加载网站资产之前就被调用了。

为什么不像website.assets_frontend那样使用<xpath expr="//script[last()]" position="after">

最新更新