Dart Polymer 1.0 есть ли способ использовать один "рефектируемый" класс на стороне клиента и сервера?

Использование JsProxy в Dart Polymer 1.0 включить двустороннюю привязку, не разрешать использовать эти классы на стороне сервера. Расширение от родительского класса с JsProxy также не решает проблему.

Как я пытался обойти эту проблему. Я создаю класс (для использования на стороне сервера), а затем расширяется от этого с JsProxy:

class Person {
    @reflectable String name;
    @reflectable int age;

    Person(this.name, this.age);
}

class PersonModel extends Person with JsProxy {
    PersonModel(name, age) : super(name, age);
}

объект person не отражает изменения, если я изменяю значение, используя set

<my-element>
    <p>[[person.name]], [[person.age]]</p>
</my-element>

void main() {
    PersonModel person;
    set('person', new PersonModel('Tom', 23));
}

Есть ли способ использовать класс на стороне клиента и сервера, без необходимости поддерживать два отдельных класса для клиента и сервера? Может быть, есть другие способы решить эту проблему?

1 ответ

Решение

В соответствии с обновлениями выпуска https://github.com/dart-lang/polymer-dart/issues/664 это в настоящее время не поддерживается, но есть планы избавиться от этого ограничения.

Другие вопросы по тегам