2016-10-26 4 views
1

Я пишу какой-то код вяза для визуализации SVG (я ном). У меня есть соответствующий код просмотра, указанный ниже (обратите внимание, что сообщения onClick присутствуют в другом коде). Все, что я пытаюсь сделать в данный момент, это нарисовать прямоугольник или строку, чтобы увидеть, как это работает. Когда я запускаю код вяза, содержащий этот вид, def svg-графика не нарисована. если «пиксельная модель» использует линейный регистр, кнопки нарисованы, а текстовая строка модели рисуется, но линия не нарисована. Если в «пиксельной модели» используется прямоугольник, вся вкладка браузера пуста/белого (без кнопок или текстовой строки). Что-то не так с моим кодом или я сталкивался с ошибкой Elm? Я пробовал вставить код в elm-lang.org/try, а также использовать 0,17 дистрибутива Mac Installer и запустить elm-реактор на localhost: 8000.SVG не для рисования в коде вязов

import Html exposing (div, button, text, canvas, svg) 
import Html.App exposing (beginnerProgram) 
import Html.Events exposing (onClick) 
import Html.Attributes exposing (id, height, width, style) 
import Svg exposing (rect, line) 
import Svg.Attributes exposing (x, y, x1, y1, x2, y2, viewBox, fill, color, stroke, strokeWidth) 

<snip> 

view model = 
    div [] 
    [ button [ onClick Left ] [ text "Left"  ] 
    , button [ onClick Right ] [ text "Right" ] 
    , button [ onClick Down ] [ text "Down"  ] 
    , button [ onClick Up ] [ text "Up"  ] 
    , button [ onClick Out ] [ text "Zoom out" ] 
    , button [ onClick In ] [ text "Zoom in" ] 
    , button [ onClick Reset ] [ text "Reset" ] 
    , div [] [ text (toString model) ] 
    , svg [width 300, height 300, viewBox "0 0 300 300"] (pixels model) 
] 

pixels model = [rect [x "20", y "20", width 70, height 70, fill "rgb(255,0,0)" ][]] 
--pixels model = [line [x1 "20", y1 "20", x2 "70", y2 "70", stroke "red", strokeWidth "2"][]] 
+0

Что вы можете видеть в инспекторе? Вы можете увидеть любые теги SVG? – Soviut

+0

Как узнать о инспекторе Вязов? Найти что-либо, используя этот термин с помощью googling, невозможно. – Barry

+0

Не инспектор вяза, инспектор браузера. – Soviut

ответ

1

вы должны использовать Svg.svg вместо Html.svg.

+0

Изменение импорта svg из Htlm() в Svg() привело к тому, что оба стили модели пикселя рисовали пустым/все белые без кнопок или текста. – Barry

+2

Я думаю, вам нужно использовать Svg.Attributes для элементов svg. Похоже, что атрибуты Html и Svg перепутаны. – Tosh

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