Trong mớiEmber.Router
có giao hàng với Ember 1.0-rc2, có thể thêm tuyến đường trong thời gian chạy không?Ember-Router: Làm thế nào để thêm một tuyến đường trong thời gian chạy trong Ember 1.0-rc2?
Trả lời
Hiện tại không có phương pháp hỗ trợ thực hiện việc này. Cuộc gọi App.Router.map
được xử lý bởi dòng 235-247 của mã này: bản đồ https://github.com/emberjs/ember.js/blob/master/packages/ember-routing/lib/system/router.js
Ember.Router.reopenClass({
map: function(callback) {
var router = this.router = new Router();
var dsl = Ember.RouterDSL.map(function() {
this.resource('application', { path: "/" }, function() {
callback.call(this);
})
});
router.map(dsl.generate());
return router;
}
được ghi đè mỗi khi bạn gọi Router.map
như gọi lại cho cuộc gọi trước để Router.map
không tồn.
Chỉnh sửa Tốt hơn hoặc tệ hơn, tôi có yêu cầu kéo để thay đổi hành vi để cho phép nhiều cuộc gọi đến App.Router.map
. Chúng ta sẽ xem chuyện gì xảy ra. Bạn có thể làm theo đây https://github.com/emberjs/ember.js/pull/2485
Một Sửa
Tôi đã viết một ý chính để làm những gì yêu cầu kéo của tôi làm trong Userland. Điều này sẽ cho phép bạn ánh xạ các tuyến đường khi chạy. Chỉ cần thêm đoạn mã này và sau đó thay thế các cuộc gọi của bạn để App.Router.map
với phương pháp mà tôi đã xác định
https://gist.github.com/grep-awesome/5406461
trả lời Thay đổi Chỉnh sửa
Tính đến yêu cầu kéo này, bây giờ bạn có thể gọi map
nhiều lần . https://github.com/emberjs/ember.js/pull/2892
Tôi thấy câu trả lời của wmarbut chưa được chấp nhận, nhưng đó là một câu trả lời hay (đối với tôi). Có vẻ như bản vá của anh ấy đang trên đường vào bản phát hành Ember, nhưng cho đến lúc đó, đây là một số mã sử dụng bản vá của anh ấy. (Không chấp nhận câu trả lời của tôi, tôi chỉ vui mừng khi đã tìm thấy điều này.) Tôi đang có kế hoạch sử dụng nó như là một phần của một giải pháp để cho phép điều hướng ổ đĩa nội dung. Câu hỏi hay, user1517325 và cảm ơn, wmarbut!
// was an all-in-one router map as Ember likes it
// App.Router.map(function() {
// this.resource("foods", function(){
// this.route("index", {path: "/"});
// });
// this.route("fourOhFour", { path: "*:"});
// });
//wmarbut's workaround until his patch is applied
App.map_routes = [];
App.MapRoutes = function(routes) {
App.map_routes.push(routes);
return App.Router.map(function() {
var route_lamda, _i, _len, _ref;
_ref = App.map_routes;
for (_i = 0, _len = _ref.length; _i < _len; _i++) {
route_lamda = _ref[_i];
route_lamda.call(this);
}
return true;
});
};
//partial mapping
App.MapRoutes(function() {
this.resource("foods", function(){
});
});
//some more mapping
App.MapRoutes(function() {
this.resource("foods", function(){
this.route("index", {path: "/"});
});
});
//even more mapping
App.MapRoutes(function() {
this.route("fourOhFour", { path: "*:"});
});
Trong phiên bản mới nhất ember.js RC7 nó đã được bổ sung chức năng cho Router.map
để cho phép nó được gọi nhiều lần mà không cần bản đồ được ghi đè. Điều này sẽ cho phép các tuyến được thêm vào trong thời gian chạy.
Hy vọng điều đó sẽ hữu ích.
- 1. Tuyến đường và tuyến đường ray Ember
- 2. Thêm tuyến đường lạc đà khi chạy trong Java
- 3. Làm thế nào để truy cập bộ điều khiển từ tuyến đường trong Ember?
- 4. Thêm hình ảnh trong thời gian chạy
- 5. Programatically thêm một tuyến đường trong Play2.0
- 6. Làm cách nào để thêm mục trong thanh tác vụ trong thời gian chạy
- 7. Làm cách nào để thêm thuộc tính vào lớp trong thời gian chạy trong C#?
- 8. Làm thế nào để gọi một chuỗi để chạy vào thời gian cụ thể trong java?
- 9. Các tuyến đường lồng nhau trong Ember JS và Ember Rails
- 10. Có thể thêm tuyến đường khi chạy trong MVC3 không?
- 11. Tạo một lớp trong thời gian chạy
- 12. Làm thế nào để chạy một tiến trình với thời gian chờ trong Bash?
- 13. làm thế nào để tạo ra một lớp năng động tại thời gian chạy trong Java
- 14. Làm cách nào để thêm thuộc tính vào đối tượng trong thời gian chạy?
- 15. Thêm đường viền vào nhóm trong thời gian chạy theo flex
- 16. Chạy "tuyến đường cào" trong bao lâu?
- 17. Làm thế nào để phân vùng chính xác một bảng trong thời gian thực trong kdb?
- 18. Làm thế nào để làm thử nghiệm tích hợp Ember cho quá trình chuyển tuyến?
- 19. Làm cách nào để thêm lề vào một Nút tại thời gian chạy?
- 20. Làm thế nào để có được đường dẫn thực sự của ứng dụng Java trong thời gian chạy?
- 21. Tải lại mô hình Ember trong khoảng thời gian
- 22. Làm thế nào để bạn đặt thời gian và chỉ thời gian trong lịch trong Java?
- 23. Thêm cờ trong thời gian chạy (Xcode Instruments)
- 24. Hash Va chạm Tuyến tính Probing Thời gian chạy
- 25. C#: Làm thế nào để thêm một thuộc tính vào một đối tượng tại thời gian chạy?
- 26. Làm thế nào tôi có thể theo dõi một biến tại thời gian chạy trong C#?
- 27. Làm thế nào để làm ssh với một thời gian chờ trong một kịch bản?
- 28. Tuyến đường AWS 53 Thời gian truyền DNS
- 29. Làm cách nào để chạy được tên tuyến đường trong Symfony2 khi sử dụng mô tả tuyến đường yaml?
- 30. Làm thế nào để chỉnh sửa POM maven trong thời gian chạy?
Kiểm tra bản chỉnh sửa mà tôi vừa thêm, nó cung cấp cho bạn giải pháp sẽ thả vào và hoạt động – wmarbut