コンテンツへスキップ
メニュー
この質問にフラグが付けられました
2 返信
1731 ビュー

I am trying to upgrade an Odoo module from v14 to v17 and I am getting the error "trigger_up is not a function".

// the code below is inside: 
// export class OpenStreetMap extends Component {

marker.on("dragend", function (e) {
            var latlng = e.target._latlng;
            self.trigger_up("field_changed", {
              dataPointID: self.dataPointID,
              changes: {
                lat: latlng.lat,
                lng: latlng.lng,
              },
              viewType: self.viewType,
            });

I looked into the built-in odoo addons and the trigger_up function does exist. I am guessing that the "field_changed" is the one causing the issue here.

the 'latlng' variable also seems to be working correctly, printing both coordinates in the console when I move the marker.

アバター
破棄
著作者 最善の回答

@Cybrosys 
I have already declared the 
var self = this;

What I am asking is that what is the equivalent of 
self.trigger_up("field_change" ... in Odoo17.

Edit: The issue was solved with

self.props.record.update({lat: latlng.lat, lng: latlng.lng});


アバター
破棄
最善の回答

Hi,

In Js mostly "this" is used instead of "self". So if you are calling self, then ensure that this is declared in the variable self inside the function.

eg: var self = this;


Hope it helps

アバター
破棄