Tôi đang chuyển sang bộ định tuyến ember mới nhưng có một câu hỏi rất đơn giản - làm cách nào để tìm ra con đường hiện tại của tôi? Trước khi bạn có thể làm điều gì đó như App.router.get('currentState')
, nhưng điều này dường như không hoạt động nữa vì bộ định tuyến không còn được kế thừa từ StateManager
Ember.js nhận tuyến đường hiện tại
Trả lời
Hãy xem question này.
Tóm tắt: currentState
hiện được lưu trữ trong thuộc tính currentPath
trong ApplicationController của bạn. Các giải pháp được chấp nhận là người quan sát khách sạn này để viết nó vào một tài sản toàn cầu:
App = Em.Application.create({
currentPath: ''
});
ApplicationController : Ember.Controller.extend({
updateCurrentPath: function() {
App.set('currentPath', this.get('currentPath'));
}.observes('currentPath')
});
tôi có lẽ sẽ nhận được thổi cho điều này nhưng sau một tấn của sự thất vọng với điều này tôi quyết định thực hiện một workaround thực sự xấu xí.
Trường hợp sử dụng của tôi đang cố gắng lấy ID của bài đăng hiện tại vì tôi đã đăng câu trả lời cho bài đăng đó. Nghĩ một cái gì đó như thế này cho con đường của chúng tôi hiện nay:
" ... #/bài/12345"
workaround của tôi (mã xấu nhất bao giờ):
var currentId = window.location.hash.split('/')[2];
App.Message.createRecord({
content: message,
inReplyTo: currentId
}).get('transaction').commit();
+1 không ai có thể đổ lỗi cho bạn để thực sự hoàn thành những gì bạn muốn, ngay cả khi nó đi theo cách "xấu xí". –
Trong điều khiển tôi có thể nhận được các tuyến đường hiện tại bằng cách sử dụng mã bên dưới. Chúc may mắn
this.get ("currentRouteName")
- 1. Cách nhận tuyến đường hiện tại trong HtmlHelper?
- 2. Nhận đường dẫn hiện tại với phân đoạn động trong ember.js
- 3. Định tuyến Ember.js
- 4. Nhiều bộ định tuyến trong ember.js?
- 5. Chơi 2.0, nhận tuyến đường/url/Cuộc gọi hiện hoạt?
- 6. Nhận đường dẫn thư mục hiện tại
- 7. Android || Nhận thông tin tuyến đường hiện tại của Google Maps
- 8. Tuyến đường ray phụ thuộc vào người dùng hiện tại
- 9. Ember.js: Làm cách nào để truyền dữ liệu giữa bộ điều khiển tuyến đường mẹ và tuyến đường con?
- 10. Symfony2 Nhận tên tuyến đường từ URL
- 11. Tôi làm cách nào để phân biệt các tuyến đường lồng nhau trong ember.js?
- 12. Tuyến đường và tuyến đường ray Ember
- 13. API Web nhận giá trị tuyến đường
- 14. Ember.js Thư mục lồng nhau như tuyến đường (chứa dấu gạch chéo)
- 15. Định tuyến Ember.js: làm cách nào để bạn đặt tuyến đường mặc định để hiển thị ngay lập tức?
- 16. Hành vi ngoại tuyến của ứng dụng Ember.js
- 17. Xác định một đoạn bắt đa phân đoạn tất cả tuyến đường trong ember.js
- 18. Định tuyến Ember.js: kết thúc khớp của url
- 19. Nhận url của đường dẫn hiện tại trong Terminal SSH
- 20. Nhận đường dẫn hiện tại của tệp java đang chạy
- 21. Các quốc gia trong Ember.js mà không sử dụng tuyến đường?
- 22. Cách * không * để hủy Chế độ xem khi thoát khỏi tuyến đường trong Ember.js
- 23. Ember.js: nhiều cuộc gọi Ajax trong một tuyến duy nhất
- 24. Nhận tuyến đường phù hợp từ URL trong đường ray (một lần nữa)
- 25. Tại sao đường ray không tạo trình trợ giúp tuyến đường cho tuyến đường 'phù hợp' của tôi?
- 26. Trong AngularJS, tôi có thể sử dụng tuyến đường hiện tại trong ngSwitch bên ngoài ngView
- 27. Làm cách nào để có URL hoặc tuyến đường hiện tại trong TWIG?
- 28. thử nghiệm ember.js connectOutlet
- 29. tuyến đường hợp lệ không được phát hiện bởi MVC.ApiExplorer
- 30. C# MVC định tuyến - nhiều tuyến đường
Tuyệt vời, cảm ơn. Tôi tự hỏi liệu họ có cố tình loại bỏ chức năng đó không - tại sao chúng ta phải tự mình trải qua tất cả những điều này để có được con đường hiện tại? –
Sry, tôi không biết. Bản thân tôi không bao giờ sử dụng nó theo chương trình. Tôi chỉ sử dụng nó cho mục đích gỡ lỗi. – mavilein
Vì vậy, tôi chỉ cố gắng này - có vẻ như làm việc, ngoại trừ tôi không thể gọi '' 'set''' trên' '' App'''. Tất cả các cuộc gọi đến thiết lập dường như không âm thầm. Thay vào đó tôi chỉ cần đặt nó trực tiếp ('' 'App.currentPath = this.get 'currentPath'''') vì tôi chỉ cần điều này cho mục đích gỡ lỗi –