Мне интересно, как правильно структурировать приложение KnockoutJS.Как правильно структурировать приложение KnockoutJS
- Официальная документация почти всегда использует только один единственный ViewModel!
После нескольких реализованных функций мой код стал очень запутанным и исходя из объектно-ориентированного фона. Я очень страдаю аллергией на подобную архитектуру. Поэтому должно быть лучшее решение.
Будучи не очень опытным с JavaScript Я искал Stackoverflow и нашел those three options. Так что я попробовал первые два варианта, и я не доволен ими:
- Имея несколько ViewModels как here.
Мне очень сложно решить, какой элемент DOM получает то, что ViewModel. Также было вызвано несколько функций, вызываемых извне DOM-элемента. Возможно, я использовал слишком мало ViewModels с такой архитектурой, но общение между ViewModels показалось мне другим и как-то не должно быть необходимым. Надеюсь. Итак, как это сделать правильно?
- Имея взгляды суб и использования с обязательным (второй вариант из those three).
Это был мой предпочтительный тип архитектуры, потому что вы можете иметь привязки для всего документа из одной модели представления, но вы также можете структурировать свой код в суб-куски и привязывать их туда, где хотите, используя привязку с привязкой. Этот вариант, однако, требует объектных литералов вместо функций, которые уступают, как описано в этом answer.
Я не пробовал метод три, потому что кажется немного перебор, а также использует литералы объектов.
Так есть способ структурирования моего кода, а также полный контроль без использования объектных литералов?
Я надеюсь, что это не было слишком запутанный :-P
+1 для отображения как объекта литерала, так и функционального способа с тем же примером, облегчает просмотр того, как они отличаются [и понимают, что они не слишком разные :)] – jamiebarrow
отличный пример, спасибо! Мне нужно было обновить скрипку, чтобы увидеть, как она работает - может быть, нокаут устарел? http://jsfiddle.net/memeLab/cy7u9/1/ – ptim
супер полезно, спасибо .. как я могу установить представление по умолчанию при загрузке? http://stackoverflow.com/questions/23946248/ko-js-howto-set-default-view-when-using-view-constructor – ptim