python - 如何触发小部件内的事件?
问题描述
我为此创建了一个小部件和模板,并列出了该小部件内的事件,但在单击相关按钮后未触发事件。
注意:init 和 start 函数正在工作
这是模板的 xml 文件
<?xml version="1.0" encoding="UTF-8"?>
<templates id="template" xml:space="preserve">
<div t-name="new_template">
<br/><br/>
<div class="counter">
<center>
<br/>
<button class="btn-info btn-lg " id="inc" >+</button>
<button class="btn-info btn-lg value">0</button>
<button class="btn-info btn-lg " id="dec">-</button>
</center>
</div>
</div>
</templates>
这是Js文件
odoo.define('registration_form.A', function (require) {
"use strict";
var AbstractAction = require('web.AbstractAction');
var core = require('web.core');
var Widget=require('web.Widget');
var count=0;
var actionname = AbstractAction.extend({
template: 'new_template',
start:function(){
console.log("start is called");
this._super.apply(this,arguments);
var myWidget=new MeterWidget();
myWidget.appendTo(this.$el.find(".counter"));
console.log(this.$el.find(".counter"));
},
});
var MeterWidget=Widget.extend(
{
'init':function(){
console.log("init is called");
},
events:{'click #inc':'increase','click
#dec':'decrease'},
increase:function(e)
{
console.log("increment function is called");
count++;
this.$el.find(".value").val(count)
},
decrease:function(e){
console.log("decrement function is called");
count--;
this.$el.find(".value").val(count)
}
});
core.action_registry.add('my_action_tag', actionname);
});
解决方案
试试这些改变,
var MeterWidget=Widget.include({
'init':function(){
this._super.apply(this, arguments);
console.log("init is called");
},
推荐阅读
- r - 累积分布的变化点检测
- javascript - Sweetalert 确认表单提交失败
- firebase - 使用 firebase 功能配置 firebase 实时数据库
- nlp - NLP:按意图分句
- javascript - Angular验证身份号码的前6位
- python - 在多个文件上使用 python pandas 脚本
- reactjs - React-Konva 中阶段的 getPointerPosition()
- c# - C# 实体框架(代码优先),在模型上实现 CRUD 操作
- javascript - findPlaceFromQuery 返回错误的“PlacesServiceStatus”
- python - 当另一列中存在 N 个 NaN 时替换 pandas 列中的值