- Làm cách nào để chuyển đổi từ lớp scala sang Dynamic, vì vậy các hàm javascript không đề cập có thể được gọi?
- Làm thế nào để bạn chuyển đổi từ động sang lớp scala?
7
A
Trả lời
12
Nếu bởi lớp Scala bạn có nghĩa là một mặt tiền gõ đến các lớp học JavaScript, ví dụ, một lớp/đặc điểm mà kéo dài js.Object
, sau đó bạn có thể chuyển đổi đơn giản với một asInstanceOf
. Ví dụ:
val dateStatic = new js.Date
val dateDynamic = dateStatic.asInstanceOf[js.Dynamic]
Các hướng khác là như nhau:
val dateStaticAgain = dateDynamic.asInstanceOf[js.Date]
.asInstanceOf[T]
luôn luôn là một không-op (ví dụ, một dàn diễn viên cứng) khi T
kéo dài js.Any
.
Nếu, tuy nhiên, bởi lớp Scala bạn có nghĩa là một lớp Scala thích hợp (không phải là kiểu con của js.Object
), về cơ bản bạn có thể làm điều tương tự. Nhưng chỉ @JSExport
'thành viên được chỉnh sửa sẽ hiển thị từ giao diện js.Dynamic
. Ví dụ:
class Foo(val x: Int) {
def bar(): Int = x*2
@JSExport
def foobar(): Int = x+4
}
val foo = new Foo(5)
val fooDynamic = foo.asInstanceOf[js.Dynamic]
println(fooDynamic.foobar()) // OK, prints 9
println(fooDynamic.bar()) // TypeError at runtime
Các vấn đề liên quan
- 1. Scala - đối tượng Dynamic/lớp bốc
- 2. Chuyển đổi thành IEnumerable <dynamic>?
- 3. Sự khác nhau giữa chuyển đổi với chức năng tiềm ẩn và lớp tiềm ẩn trong Scala
- 4. Chuyển đổi giữa Monogame và UIKit
- 5. Sự khác nhau giữa @dynamic và @synthesize là gì?
- 6. Scala chức năng chuyển đổi
- 7. Chuyển đổi giữa LocalDate và XMLGregorianCalendar
- 8. Swift chuyển đổi giữa uint và Int
- 9. Chuyển đổi giữa SQL char và C#
- 10. chuyển đổi xml tự động trong scala
- 11. scala: chuyển đổi ngầm không hoạt động
- 12. "Dynamic" phương pháp gọi với mới Scala phản ánh API
- 13. Làm cách nào để chuyển đổi giữa Float và [Word8]?
- 14. Swift: chuyển đổi giữa Mảng của 'Protocol' và Mảng thực hiện Lớp
- 15. Chuyển đổi con trỏ thành con trỏ giữa các lớp gốc và cơ sở?
- 16. Scala getters và setters trong lớp Java
- 17. Chuyển đổi và thiết lập Lớp/cảnh trong cocos2d iPhone
- 18. D3 Sự chuyển tiếp giữa các lớp
- 19. Chuyển đổi đơn giản giữa java.util.Date và XMLGregorianCalendar
- 20. PropertyGrid và Dynamic Types of Objects
- 21. Scala: chuyển đổi chuỗi int hoặc Không
- 22. Chuyển đổi PySpark RDD bằng Scala
- 23. Chuyển đổi Java sang Thời lượng Scala
- 24. Explicit Loại Chuyển đổi trong Scala
- 25. Scala: Chuyển đổi org.w3c.dom.Document thành scala.xml.NodeSeq
- 26. Chuyển đổi Scala thành Java (java.util.Set)?
- 27. Chuyển đổi biểu Scala Java 1.8
- 28. Scala Chuyển đổi thành Bản đồ
- 29. Scala - chuyển đổi ngầm với unapply
- 30. Chuyển đổi Iterator Scala thành Vector
Cảm ơn bạn đã giải thích toàn diện. Các chuyển đổi hoạt động. – ferk86