Ich habe einen Dart-Server auf AppEngine und einem Dart-Polymer-Client ausgeführt. Die Idee war, eine gemeinsame Logik wie die Modelle zu teilen. Es gibt jedoch ein kleines Problem. Normalerweise würden Sie Ihre Modellklassen erweitern JsProxy
und dann alle relativen Felder mit @reflectable
annotieren, um sie in der Datenbindung zu verwenden. Leider erbt das Modell, das mit dem Datenspeicher von AppEngine arbeitet, bereits von Model. Außerdem bin ich mir nicht sicher, ob dart:js
auf dem Server verfügbar ist. Daher muss ich einen anderen Weg finden, um mein Modell für die Benutzeroberfläche reflektierbar zu machen.Machen Dart-Polymer-Modell-Klasse reflektierbar ohne JsProxy
Das Kommentieren von Projekt # name mit @reflectable hat nicht funktioniert. Gleiches leeres div als Ausgabe.
Wenn einschließlich JsProxy im Modell:
Die integrierte Bibliothek 'Dart: html' ist auf dem Stand-alone VM nicht zur Verfügung.
Irgendwelche Ideen?
@Kind(name: 'Project', idType: IdType.Integer)
class Project extends Model {
@StringProperty(required: true)
String name;
}
@PolymerRegister('project-list')
class ProjectList extends PolymerElement {
@property List<Project> projects;
ProjectList.created() : super.created();
ready() {
fetchProjects();
}
}
<dom-module id="projects-page">
<template>
<template is="dom-repeat" items="{{projects}}">
<div>{{item.name}}</div>
</template>
</template>
</dom-module>
Ausgang:
<div></div>
Danke! Funktioniert, aber es ist super hässlich. –
Yup: - /, wir hoffen, dass dies schließlich verbessert wird. –