跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

小

小狮子

@小狮子
关于
帖子
2
主题
1
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • odoo12 widget appendTo Dom元素的问题
    小 小狮子

    @鲍永道 是这样 我是跟着odoo12 官方文档 javascript reference那一篇关于widget用法的官方示例做的,原文就是简单地给了些关键代码,我理解的它想实现的就是在class='some-div' 这个div中插入自定义的widget模板(这个模板就是一个span和一个button,js赋能 点btn后 span内容就会变化)。不知这样是否能够描述清楚。


  • odoo12 widget appendTo Dom元素的问题
    小 小狮子

    我最跟着官方教程做demo的时候遇到了一个问题想请教下各位大神——
    Widget实例化以后 尝试appendTo模板页的一个dom元素中,打开页面时报了一个错误(如图)!
    1562643795(1).png

    js代码:

    odoo.define('todo_Widget_Conuter', function (require) {
        "use strict";
    
        //var widgetRegistry = require('web.widget_registry');
        var Widget = require('web.Widget');
    
        var Counter = Widget.extend({
            template: 'todo.counterBtnTemp',
            xmlDependencies: ['/todo/static/src/xml/widgetTemplate.xml'],
            events: {
                'click button': '_onClick',
            },
            init: function (parent) {//value
                this._super(parent);
                this.count = 1;
            },
            _onClick: function () {
                this.count++;
                this.$('.val').text(this.count);
            },
            willStart:function(){
                console.log('this is willStart');
            },
            start:function(){
                console.log('this is start');
                return this._super();
            },
        });
    
    // Create the instance
    var counter = new Counter(this);
    // Render and insert into DOM
    counter.appendTo($('.some-div'));
    
    return Counter;
    });
    

    模板代码:

    <?xml version="1.0" encoding="UTF-8"?>
    <templates id="template" xml:space="preserve">
        <t t-name="todo.counterBtnTemp">
            <span class="val"><t t-esc="widget.count"/></span>
            <button>Increment</button>>
        </t>
    </templates>
    

    视图代码:

    <?xml version="1.0" encoding="utf-8"?>
    <odoo>
        <template id="assets_common" inherit_id="web.assets_common" name="todo Backend Assets (used in backend interface)">
            <xpath expr="//script[last()]" position="after">
                <script type="text/javascript" src="/todo/static/src/js/jsreference.js"></script>
            </xpath>
            <xpath expr="//script[last()]" position="after">
                <script type="text/javascript">
                    
                </script>
            </xpath>
        </template>
        <template id="todosite" name="Todo Site Template">
            <t t-call="website.layout">
                <div class="some-div"></div>
            </t>
        </template>
    </odoo>
    
  • 登录

  • 没有帐号? 注册

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组