假设我有一个班级&我必须在回调中设置实例变量。
<g id="dots">
{data.sites.map((item, i) => {
return (
<circle
key={i + i + '--'}
id={'dot' + (i + 1)}
class="cls-2"
cx={(180 + item.attributes.address.Longitude) * (1552 / 360)}
cy={(90 - item.attributes.address.Latitude) * (818/ 180)}
r={
item.attributes.Site_Catagories === 'VCP Core' ||
item.attributes.Site_Catagories === 'VCP Lab' ?
"5" : "3"
}
alt={item.attributes.title}
fill='white'
/>
)
})}
</g>
答案 0 :(得分:0)
这样的事情怎么样?
class A{
protected $user;
public function __construct(){
$this->user = 'hehexd';
}
public function getFunction(){
$temp = $this->user; // or a reference
$rval = function($response) use ($temp){
echo $temp;
};
return $rval;
}
}
$a = new A();
$func = $a->getFunction();
$func('response');
exit;
答案 1 :(得分:0)
您可以将整个对象分配给变量并将其注入use()
,从而修改对象(可能这就是您的意思?):
<?php
class bug
{
protected $user;
public function test()
{
$thisObj = $this;
goo('test',function() use ($thisObj) {
$thisObj->user = 'foooooooo';
});
echo $this->user;
}
}
function goo($val,$callback)
{
$callback();
}
$bug = new bug();
$bug->test();
你会得到:
foooooooo
答案 2 :(得分:0)
$message = 'hello';
// No "use"
$example = function () {
var_dump($message);
};
$example();
// Inherit $message
$example = function () use ($message) {
var_dump($message);
};
$example();