Tôi chỉ muốn bằng cách nào đó để nói "Tôi muốn tất cả các phương pháp được sử dụng dự án này [Javascript]" thủ chú thích mỗi phương pháp là gây phiền nhiễuCó cách nào để sử dụng thuộc tính JavaScript theo mặc định không?
Trả lời
F # 3 cho phép bạn đánh dấu một mô-đun với ReflectedDefinition thuộc tính (aka [Javascript] trong WebSharper) đánh dấu tất cả các phương thức bên dưới.
Xem More About F# 3.0 Language Features:
(Nói về thuộc tính phổ biến, trong F # 3.0, các [< ReflectedDefinition>] thuộc tính bây giờ có thể được đặt trên mô-đun và định nghĩa kiểu, như một cách viết tắt để áp dụng nó vào mỗi cá nhân thành viên của mô-đun/loại.)
Ví dụ, bạn có thể kiểm tra các mẫu FunScript gần đây của tôi (tôi nghĩ rằng cùng một cấu trúc mã sẽ hoạt động trong WebSharper): https://github.com/tpetricek/Documents/blob/master/Talks%202013/Love%20The % 20Data% 20 (Channel9) /code/WorldBank.Web/Page.fs –
Tôi nghĩ câu trả lời của Phil là cách để đi - khi bạn có thể đánh dấu toàn bộ mô-đun hoặc loại, nó không thêm quá nhiều tiếng ồn và nó cũng cho phép bạn phân biệt giữa mã phía máy chủ và phía máy khách trong WebSharper. Chỉ cần cho bản ghi, trình biên dịch F # là mã nguồn mở và vì vậy ai đó (tìm thấy vấn đề này quan trọng) có thể dễ dàng tạo chi nhánh có thể thêm thuộc tính dòng lệnh bổ sung để ghi đè cài đặt. Tôi nghĩ rằng đây chỉ là vấn đề thêm thông số và sau đó đặt giá trị mặc định của cờ reflect
trong check.fs
(tại đây is the source on GitHub).
Tại thời điểm này, F # kho lưu trữ chính không chấp nhận đóng góp thêm tính năng mới (xem discussion here), nhưng nó chắc chắn là một cách tốt để gửi một yêu cầu tính năng để # đội F :-)
Nếu bạn chú thích tất cả các mã của bạn với thuộc tính JavaScript, trình biên dịch WebSharper sẽ cố gắng dịch tất cả mọi thứ sang JavaScript. Một quy tắc nhỏ trong phát triển WebSharper là tách riêng mã phía máy chủ và phía máy khách, vì vậy bạn có thể chỉ cần chú thích mô-đun/lớp chứa mã phía máy khách thay vì mọi hàm/thành viên nếu bạn đang nhắm mục tiêu .NET 4.5.
namespace Website
open IntelliFactory.WebSharper
module HelloWorld =
module private Server =
[<Rpc>]
let main() = async { return "World" }
[<JavaScript>] // or [<ReflectedDefinition>]
module Client =
open IntelliFactory.WebSharper.Html
let sayHello() =
async {
let! world = Server.main()
JavaScript.Alert <| "Hello " + world
}
let btn =
Button [Text "Click Me"]
|>! OnClick (fun _ _ ->
async {
do! sayHello()
} |> Async.Start)
let main() = Div [btn]
type Control() =
inherit Web.Control()
[<JavaScript>]
override __.Body = Client.main() :> _
Tôi sử dụng websharper chỉ để thay thế javascript, vì vậy tôi không thực sự quan tâm về phía máy chủ, dù sao mô-đun chú thích là tốt hơn nhiều sau đó phương pháp. – ais
- 1. Có cách nào để getElement xml theo thuộc tính không?
- 2. Có cách nào để chỉ định giá trị thuộc tính mặc định trong Spring XML không?
- 3. Có cách nào để sử dụng thiết lập kiểu cho thuộc tính của thuộc tính không?
- 4. Có cách nào thanh lịch để đặt giá trị mặc định cho thuộc tính trong C#?
- 5. Thuộc tính mặc định trong VB.NET?
- 6. Tuyến đường mặc định cho đường dẫn gốc sử dụng thuộc tính asp.net định tuyến
- 7. Magento - Đặt thuộc tính sản phẩm để sử dụng giá trị mặc định
- 8. cách buộc ứng dụng WinForms có thể bản địa hóa sử dụng thuộc tính Ngôn ngữ mặc định
- 9. khôi phục thuộc tính css mặc định
- 10. Có cách nào Rails 3.0.x có thể mặc định để sử dụng Thin không?
- 11. Làm cách nào để đặt giá trị mặc định bằng thuộc tính "kiểu ngắn" trong VS2008 (Thuộc tính tự động)?
- 12. Có thuộc tính nào tôi có thể sử dụng trên thuộc tính để cho DataGridView biết cách định dạng cột không?
- 13. Làm cách nào để đặt giá trị mặc định của thuộc tính thiết kế?
- 14. Đặt thuộc tính dữ liệu bằng cách sử dụng JavaScript
- 15. Làm cách nào để sử dụng active_model_serializers để bao gồm theo mặc định tất cả các thuộc tính và lọc chúng?
- 16. Làm thế nào để loại bỏ thuộc tính chiều rộng mà là theo thuộc tính phong cách sử dụng jQuery?
- 17. Làm cách nào để đặt lại thuộc tính kiểu về mặc định CSS của chúng trong javascript?
- 18. Cách sử dụng thuộc tính GCC 'định dạng'?
- 19. Làm cách nào để tránh lỗi "thuộc tính không xác định" mà không có câu lệnh if lớn trong JavaScript?
- 20. Javascript có đồng bộ (chặn) hoặc Không đồng bộ (không chặn) theo mặc định
- 21. Làm cách nào để thêm thuộc tính tùy chỉnh mà không có hàm tạo mặc định bằng cách sử dụng mono.cecil
- 22. Có cách nào để buộc OracleCommand.BindByName phải đúng theo mặc định cho ODP.NET không?
- 23. Làm cách nào để đặt các thuộc tính widget mặc định cho một Django ModelForm?
- 24. Cách trả lại thuộc tính kiểu tập hợp javascript thành CSS mặc định
- 25. Tôi có thể sử dụng thuộc tính lớp làm giá trị mặc định cho một phương thức thể hiện không?
- 26. Làm cách nào để đặt thuộc tính 'ServerCertificateValidationCallback' về hành vi mặc định của nó?
- 27. Có cách nào để ngăn chặn thay thế các thuộc tính đối tượng JavaScript không?
- 28. Thuộc tính được giả định là nguyên tử theo mặc định
- 29. Làm cách nào để thêm thuộc tính "href" vào liên kết động sử dụng JavaScript?
- 30. Thuộc tính tự động C# - có thể có getter tùy chỉnh với setter mặc định không?
Không, nhưng cũng không phải như vậy - phương pháp phía máy chủ không được chú thích bằng '[]' (vì chúng sử dụng chức năng không khả dụng ở phía máy khách). –
Tôi cũng tìm thấy mã bị tràn ngập [] thực sự gây phiền nhiễu. Đây là một trong những lý do tại sao tôi quyết định sử dụng Typecript thay thế. Một giải pháp có thể có thể là đánh dấu toàn bộ mô-đun hoặc lớp như JavaScript. Hay điều đó là không thể? –
Có thể, hãy xem câu trả lời của tôi cho một ví dụ. – Taha