Как печатать значения в дротике в браузере

Приведенный ниже код предназначен для извлечения параметра из URL-адреса с помощью dart. Я могу распечатать значения в консоли, но я не могу понять, как отобразить вывод в консоли в браузере, который является html-версией. Пожалуйста помоги

import 'dart:core';
import 'dart:html';

void main() {
  var q = '?id=abc&id1=cde&id3=asad';

  if(q.contains('?'))  {

   var a = q.replaceFirst("?"," ");

   var c = a.split("&");
   print(c);
 }

person unlimitederrors    schedule 21.05.2014    source источник


Ответы (1)


Вы можете добавить вывод в элемент body или добавить элемент, например <div></div>, и вставить его внутрь этого элемента.

Чтобы использовать элемент «div», вы должны добавить элемент в себя index.html (или любое другое имя, которое у вас есть для вашей HTML-страницы), например

...
<body>
  <div id='someDiv'></div>
</body>

в вашем коде Dart вы делаете это как

import 'dart:core';
import 'dart:html';

void main() {
  var q = '?id=abc&id1=cde&id3=asad';

  if(q.contains('?'))  {

   var a = q.replaceFirst("?"," ");

   var c = a.split("&");
   // querySelector('#someDiv').text = '${c}'; // <= you may need some encoding for special characters like <, >, &, ... 
   var div = querySelector('#someDiv');
   c.forEach((e) => div.append(new DivElement()..text = '${e}'));
 }
person Günter Zöchbauer    schedule 21.05.2014
comment
этот код показывает следующую ошибку. Разрыв при исключении: тип «Список» не является подтипом типа «Строка» «значения». - person unlimitederrors; 21.05.2014
comment
Хорошо, print(c) автоматически выполняет toString(), я изменил код позади ).text =. Это должно исправить это. - person Günter Zöchbauer; 21.05.2014
comment
извините, первый ответ решил проблему с моей ошибкой, добавив «$ {c}» вместо c Спасибо. - person unlimitederrors; 21.05.2014
comment
при печати значения c вывод [id=18278, id1=12312, id3=asad] как печатать каждый идентификатор в новой строке без [] - person unlimitederrors; 21.05.2014
comment
Я обновил свой ответ примером, чтобы добавить каждый элемент в виде новой строки. Я не тестировал код. Если вы получите сообщение об ошибке, просто добавьте комментарий, и я посмотрю. Отлично, если ответ решает вашу проблему, не могли бы вы принять его, нажав на галочку под кнопками вверх/вниз. - person Günter Zöchbauer; 21.05.2014
comment
NoSuchMethodError: метод не найден: «добавить» Получатель: null Аргументы: [Экземпляр «DivElement»] (127.0.0.1:3030/hi/web/hi.dart:21) Прерывание при исключении: нулевой объект не имеет метода «добавить». это ошибка, которую я вижу для нового кода - person unlimitederrors; 21.05.2014
comment
У вас есть div <div id='someDiv'></div> все еще в вашем HTML (идентификатор без '#')? - person Günter Zöchbauer; 21.05.2014