Я все еще не уверен на 100%, понимаю ли я, что вы пытаетесь сделать, но вот некоторые мысли о коде в вашей скрипке:
Если у вас есть что-то вроде
var self = this;
в глобальной области видимости (= не в функции), this
указывает на объект окна.Поэтому это не имеет никакого смысла.
self.userModel = ko.observable(new userHealthModel());
Создание наблюдаемой модели представления не требуется - вы не ожидаете, что вся модель изменится, верно?Он всегда останется моделью пользователя и не станет внезапно «моделью сообщения» или чем-то подобным.
Если вы хотите вызвать метод вашей модели представления извне, просто создайте экземпляр:
var userModel = new userHealthModel();
userModel.createUsers();
// Use "userModel" to access the methods and properties
// like you're using "self" inside the view model:
userModel.users2()[1].userId(5);
// now apply the binding to THE SAME view model
ko.applyBindings(userModel);
http://jsfiddle.net/jpk22/3/
Если это не то, что вы искали, дайте мне знать!