2013-12-20 2 views
0

Я создал два приложения Dart с использованием Polymer. Созданы два тега: weather-tag и qotd-tag.Могу ли я иметь 2 полимерных элемента в одном HTML

В weather-tag, я получаю информацию о погоде от удаленной службы и в qotd-tag Я получаю qotd с локальной машины. Оба работают отлично в Dart, а также в скомпилированном JS.

Я теперь интегрирую эти два «виджета» Дарта в свои собственные index.html.

HTML-фрагмент, как следующее:

<html lang="zh-CN"> 
    <head> 
     <script src="/packages/shadow_dom/shadow_dom.debug.js"></script> 
     <script src="/packages/custom_element/custom-elements.debug.js"></script> 
     <script src="/packages/browser/interop.js"></script> 
     <meta charset="utf-8"> 

     <script src="/getqotd.html_bootstrap.dart.js"></script> 
     <script src="/getweather.html_bootstrap.dart.js"></script> 

    </head> 

    <body id="home"> 
    <polymer-element name="qotd-tag"> 
     <template>... 
     </template> 
    </polymer-element> 
    <polymer-element name="weather-tag"> 
     <template>... 
     </template> 
    </polymer-element> 
         <weather-tag></weather-tag> 
         <qotd-tag></qotd-tag> 
    </body> 
</html> 

Проблема заключается в том, что показывает только qotd-tag.

Если я достал все ссылки qotd-tag (js, полимерный элемент, тег), weather-tag может быть отображен правильно.

Если я изменил последовательность двух файлов js (first.js наступает первым, а затем qotd.js), теперь отображается только тег погоды.

Я думаю, что в js-декларации должен быть конфликт.

Я могу решить эту проблему, создав новый тег с функциями двух тегов, но есть способ иметь два или более полимерных элемента в одном HTML-файле?

+0

код вы предоставленном ИМХО не имеет ничего общего с Дартом. Кажется, вы создали что-то для JavaScript и пытаетесь создать приложение из сгенерированных частей. Развитие дротика не работает так. Вы полностью развиваетесь в Dart (даже элементы Polymer) и сразу же создаете весь результат JavaScript. –

+1

Это то, что я хотел бы увидеть в развитии Дарт. Тема может (и должна) быть такой: различные разработчики Dart разрабатывают приложения Dart и обычные программисты HTML, эти приложения Dart могут быть импортированы как виджет без проблем. Мои фрагменты HTML, показанные выше, являются чистым интерфейсом, но пытаются включить «существующие» приложения Dart. – TaylorR

ответ

0

Это, как вы можете импортировать и использовать два элемента в приложении Dart:

<!DOCTYPE html> 

<html> 
    <head> 
    <meta charset="utf-8"> 

    <link rel="import" href="foo_element.html"> 
    <link rel="import" href="bar_element.html"> 

    <script type="application/dart">export 'package:polymer/init.dart';</script> 
    <script src="packages/browser/dart.js"></script> 
    </head> 
    <body> 
    <foo-element></foo-element> 
    <bar-element></bar-element> 
    </body> 
</html> 

Для полного кода, посмотрите на эту суть:

https://gist.github.com/shailen/8055849

+0

Вышесказанное по-прежнему находится в среде Дарта, верно? – TaylorR

+0

Я не совсем уверен, что знаю, что вы имеете в виду, но да, это использует код Дарта. –

+0

Hi Tuli, Я не хочу «интегрировать» два виджета Дарта в другое приложение Dart, и я знаю, как это сделать. Я хочу интегрировать два виджета Дарта в свой внешний HTML-код. Эта ситуация применяется следующим образом: 1. Представьте, что существует множество Dart widgtes (виджет-виджет Dart) со многими предварительно скомпилированными JS-версиями приложения Dart; 2. Люди могут ухватиться оттуда и использовать все, что захотят, просто вставив JS, ссылки на виджет Dart, поместите в шаблон и сделайте! Теперь это невозможно. – TaylorR

Смежные вопросы