以下是我不了解一些语法的代码,例如${method_name}
我们通过将方法名称传递给花括号来做什么。
global._jsname.prototype.createEELayer = function (ftRule) {
if (this.EELayer) { return; }
var that = this;
var myStyle = new OpenLayers.Style ({
externalGraphic : 'images/man.png',
graphicOpacity : "${opac}",
cursor : "pointer",
graphicWidth : "20px",
label:"${labelNumber}",
graphicHeight : "20px",
graphicYOffset : -9,
graphicXOffset : -12,
graphicTitle: "Drag me to move along the route"
},
{ context :{
opac : function (feature) {
if (feature.editOpacity) {
return feature.editOpacity;
} else {
return "1.0";
}
}
,labelNumber : function (feature) {
var labelNo = feature.data.stopN;
return labelNo;
}
}
});
this.EELayer = new OpenLayers.Layer.Vector("EELayer",{
styleMap: new OpenLayers.StyleMap({
"default" : myStyle,
"onSelect":myStyle
}),
isBaseLayer : false
});
this.mbox.map.addLayer(this.EELayer);
}
我没有得到的另一件事是为什么在${labelNumber}
中给出了方法名称(labelNumbber)。
答案 0 :(得分:0)
表达式
....
label:"${labelNumber}",
....
正在定义名为label
的属性,该属性已分配 string
。那么,这个字符串中“$ {labelNumber}”一词的含义是由程序进一步的逻辑决定的。
实际上,在这几行中,它没有任何功能,因为它只是一个文字而且这里没有使用该属性。
答案 1 :(得分:-1)
这是将dinamic变量从 PHP 传递到html / js {$method_name}
的通用方法。
因此,这些变量/名称可能来自代码的其他部分,它们将curent文件重用为模板。
答案 2 :(得分:-1)