小编And*_*ori的帖子

是否有可能包含泛型类?

我正在努力创造public class MyClass<T extends Parcelable> implements Parcelable.我在实施方面遇到了麻烦Parcelable.是否可以创建一个实现的泛型类Parcelable?(注意这T是有限的,所以它也必须实现Parcelable).

我遇到的问题是Parcelable接口需要一个静态变量:public static final Parcelable.Creator<MyParcelable> CREATOR.因此,我不能做,public static final Parcelable.Creator<MyClass<T>> CREATOR因为MyParcelable<T>是非静态的.

安德烈

java generics android parcel parcelable

14
推荐指数
2
解决办法
6206
查看次数

Polymer 1.0:带输入元素的双向绑定

考虑以下Polymer自定义元素:

<dom-module id="test-element">

<template>
    <input type="text" value="{{value}}">
    <button>Reset</button>
</template>

<script>
Polymer({
    is: 'test-element',
    properties: {
        'value': {
            type: String,
            reflectToAttribute: true,
            notify: true,
            value: null
        }
    }
});
</script>

</dom-module>
Run Code Online (Sandbox Code Playgroud)

我在index.html中使用这个自定义元素,如下所示:

<html>
<head>
    <script type="text/javascript" src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
    <link rel="import" href="test-element.html">
    <title>Test App</title>
</head>
<body>
    <test-element value="test"></test-element>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我相信我已经将该value属性声明为双向绑定(notify: true); 然而,当我点击输入并键入一些文本(例如"foo")时,它不会反映在模型中(即调用document.querySelector('test-element').value返回我在index.html中设置的值"test").有趣的是,value输入的属性正确更改,但我的test-element的value属性没有.我错过了什么?

我还应该注意一个document.querySelector('test-element').setAttribute('value', 'bar')正常工作的电话.

javascript polymer custom-element

13
推荐指数
2
解决办法
1万
查看次数

实例化通用类型

鉴于以下课程:

class Datum {}
Run Code Online (Sandbox Code Playgroud)

error TS2304: Cannot find name 'T'尝试执行以下操作时收到错误消息():

class Data<T extends Datum> {
    datum: T

    constructor() {
        this.datum = new T()
    }
}
Run Code Online (Sandbox Code Playgroud)

那么我尝试这样做,但我也收到一条错误消息(Type 'Datum' is not assignable to type 'T'):

 class Data<T extends Datum> {
    datum: T

    constructor() {
        this.datum = new Datum();
    }
}
Run Code Online (Sandbox Code Playgroud)

问题:是否无法实例化约束类型T?我的假设是,由于T受到约束而必须延伸Datum,我能够做到datum: T = new Datum().

generics instantiation typescript

6
推荐指数
1
解决办法
4209
查看次数