** обновленный
Я использую knockoutjs с jquery для создания приложения.
Поскольку я использую jquery, мне нужно обернуть нокаутом в функцию jquery. Это хорошо, за исключением того, что через приложение я повторно использую одни и те же объекты / функции для разных страниц. Поскольку объект содержит ссылки на нокаут, я не могу поместить их в глобальный файл, что означает, что у меня много повторений, что сильно увеличивает объем кода и делает его совершенно неуправляемым.
Итак
//global file
//this is fine because it dose not reference knockout
var global_cust = function(){
this.name: "dave";
this.isAwkward: true;
}
//this is not fine because it references knockout
var knockout_global_customer = function(properties){
this.name: ko.observable(properties.name? properties.name: "unknown"),
this.isAwkward: ko.observable(properties.isAwkward? properties.isAwkward: true),
}
//page 1
(function($){
//i have to include the customer in every page of aplplication that uses it. I would like this in a global file or someway of Precompiling it so don't have to include it in every page - a bit like php include but for JS
var customer = function(properties){
this.name: ko.observable(properties.name? properties.name: "unknown"),
this.isAwkward: ko.observable(properties.isAwkward? properties.isAwkward: true),
}
var viewModel = {
currentCustomer: ko.observable(new customer()),
globalCustomer: ko.observable(new global_cust()),
}
ko.applyBindings(viewModel);
})(jQuery);
так или иначе, или инструменты, которые предварительно обрабатывают файлы, чтобы мне не приходилось повторять одни и те же объекты / функции на каждой странице
Спасибо