Mô hình chế độ xem của tôi bắt đầu trở nên rất lớn nên tôi đã quyết định chia thành nhiều tệp. Tôi đã thử nhiều cách tiếp cận khác nhau nhưng không có gì làm việc.Chia mô hình xem loại trực tiếp thành nhiều tệp
mô hình Quan điểm của tôi trông giống như:
namespace.model = function(constructorParam) {
var self = this;
self.param1 = ko.observable(constructorParam.param1);
self.param2 = ko.observable(privateFunction(constructorParam));
self.clickEvent = function() {
// do something with params
// call some private funcitons
privateFunction2(self.param2);
};
function privateFunction(param) {
// do some stuff
}
function privateFunction2(param) {
// do some stuff
}
};
tôi cần phải truy cập vào các chức năng riêng và các thông số quan sát được trên nhiều tập tin. Mô hình cuối cùng của tôi sẽ trông giống như sau:
// file 1
// contains constructor and param initialization + many common private helper funcitons
namespace.model = function(constructorParam) {
var self = this;
self.param1 = ko.observable(constructorParam.param1);
self.param2 = ko.observable(privateFunction(constructorParam));
function privateFunction(param) {
// do some stuff
}
function privateFunction2(param) {
// do some stuff
}
};
// file 2
// contains event hendlers
self.clickEvent = function() {
// i need to acces properties from namespace.model
self.param1
// call some private funcitons
privateFunction2(self.param2);
};
// view model initialization
ko.applyBindings(new namespace.model(initValues));
Có thể đạt được điều gì đó như thế này với loại trực tiếp không? Cảm ơn
Có thể thực hiện điều đó mà không cần RequireJS không? –
@MajoB, vâng, điều này có thể được thực hiện mà không cần RequireJS. Tuy nhiên, một trong những lợi ích của việc sử dụng thư viện như RequireJS là nó làm cho các phụ thuộc rõ ràng, có thể rất hữu ích nếu bạn đang soạn mô hình của mình từ các phần như mô tả ở đây. – kiprainey