2016-01-18 22 views
5

Tôi có một ứng dụng elm được thiết kế với kiến ​​trúc Elm. Tôi đã sử dụng nó cho tất cả các mẫu trong hướng dẫn và chúng hoạt động tốt. Tôi có các thành phần sauCác thành phần của Nesting ui và truy cập dữ liệu toàn cầu trong Elm

  • ContainerListView
  • ContainerView
  • AddressView
  • RegistrationView
  • ...

Thành phần ContainerView là một cấu trúc div rất được định dạng được sử dụng để chứa các chế độ xem khác (nhưng hiện tại, chỉ 1 lần)

ContainerListView có thể chứa nhiều containerViews. Nó xử lý cách trình bày và định vị của chúng. Bạn có thể nghĩ nó như một bề mặt MDI

Một menu từ giao diện người dùng chính được sử dụng để thêm chế độ xem vùng chứa mới vào danh sách chế độ xem vùng chứa.

Tôi được trình bày với ba câu hỏi chính. Hai trong số đó là

  • Làm thế nào để tạo ra các thành phần như vậy mà container xem có thể chứa bất kỳ yếu tố khác là tôi vượt qua trong ví dụ như init, cập nhật và chức năng xem và mong muốn tất cả mọi thứ để được dây một cách chính xác? Tại thời điểm này, các quan điểm samle tôi có được mã hóa cứng. Họ biết chính xác ai là con cái.

  • Một số thành phần yêu cầu quyền truy cập vào những thứ như url, mã thông báo truy cập, v.v. Điều này luôn phải được chuyển từ main đến các thành phần riêng lẻ hoặc nó có thể đến từ một nguồn khác về cơ bản là chỉ đọc và có thể cập nhật chỉ từ chính?

Tôi không chắc liệu hai câu hỏi này có phải là câu hỏi riêng lẻ hay không. Bất kỳ thông tin nào về cách kiến ​​trúc sư ứng dụng lớn hơn thế giới chào hỏi thế giới hello cũng sẽ được đánh giá cao.

Trả lời

1

Tôi đang làm việc tương tự! Điều khiển lồng nhau. Tôi cũng có một đối tượng container mà biết về tất cả các loại mà nó có thể xử lý, và về cơ bản có báo cáo trường hợp để xử lý từng loại. Vì vậy, tôi không thể thả vào một loại điều khiển mới và mong đợi nó để xử lý nó, mà đòi hỏi phải thay đổi container.

Theo như tôi biết elm không có loại lớp, đó sẽ là cách tôi có thể thử xử lý loại trừu tượng đó trong haskell hoặc purescript. Có nhiều về điều đó ở đây:

https://github.com/elm-lang/elm-compiler/issues/38

và ở đây:

https://github.com/elm-lang/elm-compiler/issues/1039

Kết quả cuối cùng dường như là họ không biết làm thế nào mà họ muốn giải quyết vấn đề đó được nêu ra, vì vậy họ nơi trú ẩn 't.

+0

Có vẻ như chúng ta sẽ chỉ phải chờ xem. Tôi sẽ xem xét ý tưởng đối tượng container. – ritcoder

+0

FWIW công cụ của tôi là ở đây (xem SvgControl.elm): https://github.com/bburdette/oscpad/tree/master/elm – Bzzt

+0

Chỉ cần nhìn vào mã oscpad. Cấu trúc dường như giống như những gì tôi đang tìm kiếm.Làm thế nào để bạn giải quyết sự không phù hợp của các thành phần lồng nhau - ví dụ: SvgContainer có thể chứa nút hoặc thanh trượt? Đó có vẻ là những gì tôi đang phải đối mặt. – ritcoder

Các vấn đề liên quan