В настоящее время я работаю над приложением, которое расширяется благодаря столь большой функциональности. Здесь я собираюсь представить пример кода для понимания.
function test(){
var self = this
/* Define Properties */
self.TaskSection = ko.observable()
.
.
/* Define Get Requrest */
self.GetTasks = function(){
}
.
.
/* Define Post Requrest */
self.PostTask = function(){
}
.
.
/* Define Helper Methods */
self.FormatDate = function(){
}
.
.
/* Define Navigation Methods */
self.HomePage = function(){
}
.
.
/* End */
}
OK. Довольно просто. Вы можете увидеть образец модели, но теперь с ней трудно работать, поскольку каждый раздел содержит много функций. Давайте рассмотрим более 10 функций в каждом разделе. Теперь я хочу управлять приложением с помощью requirejs
. Это то, что я пробовал.
The Structure
app/
js/
/Collections/ /* For ObservableArrays */
/Events/ /* For Collections and Models */
/Helpers/ /* For Collections and Models */
/Models/ /* Default Properties */
В настоящее время я хочу разбить модель на 3-4 части.
- Collection.js, где я определяю только
observableArray()
- Events.js, где я хочу определить связанные с сервером функции
- Helpers.js, где я хочу определить функции для выполнения внутренней работы.
Как я могу это достичь. Это то, что я пробовал.
define(["knockout"],function (ko) {
function test(){
var self = this
self.TaskList = ko.observanleArray()
}
return new test()
});
define(["knockout","TaskList"],function (ko,TaskList) {
var events = function() {
var self = this
self.AddItem = function (data) {
TaskList.push(TaskModel)
}
self.RemoveItem = function (data) {
TaskList.remove(data)
}
}
return new events()
});
define(["knockout","TaskList"],function (ko,TaskList) {
var helpers = function() {
var self = this
self.SortTaskList = function (data) {
TaskList.sort()
}
}
return new helpers()
});
Здесь я не знаю, как их объединить. TaskList
в events.js и helper.js undefined. Я знаю, что мне нужно передать TaskList в качестве параметра, но я не хочу использовать функцию. Вместо этого я хочу использовать литеральный способ объединить эти два файла в ModelView.js viewmodel.
Как я могу это сделать?