如何从dart文件中创建聚合物元素

时间:2014-06-02 18:26:32

标签: dart dart-polymer

我有聚合物元素

 import 'package:polymer/polymer.dart';

 @CustomTag('custom-project-button')
 class ProjectButton extends PolymerElement {
   @observable String project = "none";
   @observable String path = "none";

   ProjectButton.created() : super.created();
 }

聚合物html

 <!DOCTYPE html>
 <polymer-element name="custom-project-button">
   <template>
     <link rel="stylesheet" href="projectButton.css">

     <template>
       <div class="custom-project-button">
       <div class="box"></div>
         <h1>Project: {{project}}:</h1>
         <h2>Path: {{path}}:</h2>
       </div>  
     </template>

   <script type="application/dart" src="projectButton.dart"></script>

在我的项目主要内部我打电话

 import 'package:polymer/polymer.dart';
 import 'dart:html';
 import 'dart:convert' show JSON;
 import 'package:params/client.dart';

 DivElement content = querySelector("#content");

 void main() {
   querySelector("#warning").remove();
   initPolymer().run(() {
     initParams();
     print("Request List");
     var url = "http://127.0.0.1:8099/init";
     var request = HttpRequest.getString(url).then(displayProjects);
   });
 }

 void displayProjects(responseText) {
   Map userProjects = JSON.decode(responseText);

   userProjects.forEach((k,v){
     Element polyItem = new Element.tag("custom-project-button");
     polyItem.project = k.toString();
     polyItem.path = v.toString();
     content.append(polyItem);
   });

 }

然后我得到

 Uncaught Error: Class 'HtmlElement' has no instance setter 'project='.

但由于某种原因它几天前在另一个项目中工作,现在它也停止在那里工作

尝试在聚合物中设置一个构造函数,以便能够说出新的projectButton()但不会工作

1 个答案:

答案 0 :(得分:0)

我认为你只需要一个演员来摆脱警告

ProjectButton polyItem = new Element.tag("custom-project-button") as ProjectButton;