小编Dav*_*ian的帖子

D3.JS'zoom'未定义

我正在尝试使用此代码进行简单的缩放/平移解决方案

  var map = document.getElementById('map'),
      svg = d3.select('#map')
            .call(d3.behavior.zoom().on("zoom", function () {
                svg.attr("transform", "translate(" + d3.event.translate + ")" + " scale(" + d3.event.scale + ")")
            }))
            .append('g');
Run Code Online (Sandbox Code Playgroud)

但在一刻它给:

Uncaught TypeError: Cannot read property 'zoom' of undefined
Run Code Online (Sandbox Code Playgroud)

在HTML中,我有这个:

<svg id="map" class="map" viewBox="0 0 8000 2000"></svg>
Run Code Online (Sandbox Code Playgroud)

PS灵感来自于此

html javascript svg zoom d3.js

7
推荐指数
1
解决办法
5899
查看次数

如何从 Kotlin 中的泛型继承接口?

据说我有PersonImpl<Base : IPerson>泛型类,IPersonPerson 的接口在哪里。我正在尝试这样做

interface IPerson {
    fun getName(): String
}

interface IPoliceMan : IPerson {
    fun getDepartmentName(): String
}

open class PersonImpl<T: IPerson>(private val name: String) : T
Run Code Online (Sandbox Code Playgroud)

进而

class PoliceMan(private val departmentName: String, name: String) : PersonImpl<IPoliceMan>(name)
Run Code Online (Sandbox Code Playgroud)

所以,我希望编译器说,我需要实现 getDepartmentName()PoliceMan,但这是不可能的,因为只有类和接口可作为超类型

所以唯一的变种是这样的

class PoliceMan(private val departmentName: String, name: String) : IPoliceMan, PersonImpl<IPoliceMan>(name)
Run Code Online (Sandbox Code Playgroud)

与界面重复。

我可以在 Kotlin(或 Java)中有泛型超类型吗?

PS 如果不可能,是否有任何机制可以模拟这种行为?

java generics inheritance kotlin

5
推荐指数
1
解决办法
541
查看次数

标签 统计

d3.js ×1

generics ×1

html ×1

inheritance ×1

java ×1

javascript ×1

kotlin ×1

svg ×1

zoom ×1