Tôi có một ứng dụng KO và mỗi trang của tôi có một mô hình xem riêng biệt xử lý tất cả các hành động cần thiết trên trang đó (tải, thêm, chỉnh sửa, xóa, vv). Tôi đã quản lý để chia mã thành nhiều mô-đun bằng cách sử dụng RequireJS, nhưng tôi không thể tìm thấy cách để nhiều mô hình xem hoạt động cùng một lúc bằng Sammy.Knockout, Require, Sammy và mô hình xem cho mỗi trang - làm cách nào để làm cho nó hoạt động?
Đây là thiết lập tôi có trong tệp init.js
của mình vào lúc này, tải nội dung trên trang đầu tiên. Và nó hoạt động:
require(['jquery', 'ko', 'sammy', 'viewmodels/page1'], function($, ko, sammy, page1) {
var page1VM = new page1.ViewModel();
ko.applyBindings(page1VM);
var app = sammy('#wrapper', function() {
this.get('#page1', function() {
page1VM.loadContent();
});
this.get('#page2', function() {
// do nothing yet
});
[...]
this.get('#pageX', function() {
// do nothing yet
});
});
app.run('#page1');
});
Làm cách nào để gắn kết các kiểu xem khác của tôi với các trang khác?
Tôi cũng đã thử thêm ko.applyBindings
riêng cho mỗi trang bên trong this.get
, điều này đã xảy ra lỗi khi tôi chuyển lại trang đã áp dụng các ràng buộc đó.
Bạn có thể quan tâm đến Durandal, một khuôn khổ cơ bản bao gồm tất cả những thứ này cùng nhau cho bạn. – Tyrsius