Я люблю KnockoutJS, но изо всех сил пытаюсь найти лучший способ создания приложений Javascript с большим масштабом.
Сейчас я обрабатываю код, создавая модель с корневым представлением, которая обычно начинается с уровня главной страницы, а затем расширяется. Я только ko.applyBindings() на главном экране. Вот пример кода, который у меня есть:
var companyNamespace = {};
// Master page. (a.k.a _Layout.cshtml)
(function(masterModule, $, ko, window, document, undefined) {
    var private = "test";
    masterModule.somePublicMethod = function() {};
    masterModule.viewModel = function() {
        this.stuff = ko.observable();
    };
}(companyNamespace.masterModule = companyNamespace.masterModule || {}, jQuery, ko, window, document));
// Index.cshtml.
(function(subModule, $, ko, window, document, undefined) {
    var private = "test";
    subModule.somePublicMethod = function() {};
    subModule.viewModel = function() {
        this.stuff = ko.observable();
    };
    $(document).ready(function() {
        ko.applyBindings(companyNamespace.masterModule);
    });
}(companyNamespace.masterModule.subModule = companyNamespace.masterModule.subModule || {}, jQuery, ko, window, document));
Я просто беспокоюсь, так как это древовидная структура, если мне нужно было вставить двойную главную страницу или что-то в этом роде, это было бы очень громоздким для повторного фактора.
Мысли?
ИЗМЕНИТЬ
Я знаю, что вы можете применять привязки к отдельным элементам, чтобы изменить область привязок, но что, если у меня есть вложенные модели представлений?
