Javascript 单击D3饼图分段时,this.set()不是函数
我试图在单击饼图分段以在组件中进一步使用时设置“selectedLabel”,但遇到了“this.set()不是函数”错误,这是我以前从未见过的 表明我试图设置其属性的对象不是余烬对象,因此需要使用Javascript 单击D3饼图分段时,this.set()不是函数,javascript,d3.js,ember.js,Javascript,D3.js,Ember.js,我试图在单击饼图分段以在组件中进一步使用时设置“selectedLabel”,但遇到了“this.set()不是函数”错误,这是我以前从未见过的 表明我试图设置其属性的对象不是余烬对象,因此需要使用Ember.set(对象,'property'值)更改,但这将返回空错误 我在同一组件中的其他位置同时使用this.get和this.set方法,因此我不确定他的特定对象是否有问题,或者我是否存在范围问题 代码: 让g=svg.selectAll(“弧”) .数据(mpie) .enter().app
Ember.set(对象,'property'值)
更改,但这将返回空错误
我在同一组件中的其他位置同时使用this.get
和this.set方法,因此我不确定他的特定对象是否有问题,或者我是否存在范围问题
代码:
让g=svg.selectAll(“弧”)
.数据(mpie)
.enter().append(“g”)
.attr(“类”、“弧”)
G
.on(“mousemove”,函数(d){
var mouseVal=鼠标(此);
div
.html(“项目:+d.data.count+”“+”日期:+d.data.label)
.style(“左”(event.pageX+12)+“px”)
.style(“顶部”(event.pageY-10)+“px”)
.style(“不透明度”,1)
.样式(“显示”、“块”);
})
.on(“mouseout”,函数(){
div.html(“”)样式(“显示”、“无”);
})
//尝试设置“selectedLabel”属性
.打开(“单击”,功能(d){
此.set('selectedLabel',d.data.label)
})
控制台在单击功能中记录“this”将为我提供饼图的正确部分。错误的上下文。如果要在函数中保留上下文,请使用箭头函数,此
将是外部对象
```
g.on("click", (d)=> {
this.set('selectedLabel', d.data.label)
})
```
```
g.on("click", (d)=> {
this.set('selectedLabel', d.data.label)
})
```