gpt4 book ai didi

javascript - ol-ext Controller 中的控制栏和功能

转载 作者:行者123 更新时间:2023-12-02 23:41:42 25 4
gpt4 key购买 nike

我有一个 extjs 应用程序,其中使用 ol-ext 控制栏。控制栏位于文件 MyApp.js 中,我想通过单击属于控制栏的按钮来调用的函数位于相关 Controller MyAppController 中。在 MyApp.js 中:

var testFuction = function(){
return this.getController().updateImages;
};

var mainbar = new ol.control.Bar();
var first = new ol.control.Button (
{
html: '1',
//handler: 'updateImages',
//reference: 'locationShowImageButton',
handleClick: testFuction,
});

//Standard Controls
mainbar.addControl (first);
mainbar.setPosition('bottom-right');
this.map.addControl(mainbar);

在 MyAppController 中:

updateImages: function (obj) {
var self = this;
this.getView().cleanImageLayers();
var selectedFloors = ; //it should be the value of the ol.control.Button, so 1
if (this.lookupReference('locationShowImageButton').pressed) {
.....

最佳答案

首先检查MyApp.js中的this.getController()是否引用了MyAppController

You can't use ol.control.Button like sencha component.

您应该在 MyApp.js 范围内使用 this

var mainbar = new ol.control.Bar();
var me = this;
var first = new ol.control.Button (
{
html: '1',
handleClick: function () {
me.getController().updateImages();
}
});

//Standard Controls
mainbar.addControl (first);
mainbar.setPosition('bottom-right');
this.map.addControl(mainbar);

关于javascript - ol-ext Controller 中的控制栏和功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56040504/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com