我有一个extjs应用程序,其中使用了ol-ext控制栏。控件栏位于文件 MyApp.js 中,而我想通过单击属于控件栏的按钮来调用的功能位于相对控制器 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) {
.....
答案 0 :(得分:1)
首先检查 subject do
Class.new do
include ActiveModel::Validations
attr_accessor :email
validates :email, email: true
end
end
中的this.getController()
是否引用了MyApp.js
。
您不能像sencha组件那样使用
MyAppController
。
您应该在ol.control.Button
范围内使用this
。
MyApp.js