问题描述
我使用 odoo12ce 并且在编写新小部件时遇到了一些问题
我的新小部件显示一些数据,3 秒后它应该消失
start: function () {
var texto = ""
texto += "<ul>"
this.valor.forEach(element => {
texto += "<li>" + element.cant + ' ' + element.type + "</li>"
});
texto += "</ul>"
this.$el.append(texto);
setTimeout( function(){
this.$el.empty();
},3000);
},
在函数外部,对象工作正常,但在内部无法识别。我能做些什么来解决它? 提前致谢
解决方法
您只需要将 this
添加到 setTimeout
的上下文中。所以您的代码将类似于以下内容:
start: function () {
var self = this;
var texto = ""
texto += "<ul>"
this.valor.forEach(element => {
texto += "<li>" + element.cant + ' ' + element.type + "</li>"
});
texto += "</ul>"
this.$el.append(texto);
setTimeout( function(){
self.$el.empty();
},3000);
},
不要犹豫,让我们知道它是否有效。