Вопрос: Возможно ли иметь разные виды для модели, основанные на значении, которое оно имеет для поля?Нокаут: модульные представления, основанные на поле модели
Объяснение: У меня есть модель с Настройки и Тип поля в нем. Установки могут быть разными параметрами, основанными на типе. Я хотел бы отключить представление настроек, основанное на значении Тип.
У меня есть небольшой опыт работы с нокаутом, и я хотел бы, чтобы это масштабируемо для разных типов.
Я попытался использовать ko.computedObservable с оператором switch, чтобы вернуть функцию(), которая определяет настройки в ней; такие как:
self.Settings = ko.computed(function() {
switch (self.Type()) {
case "Type1":
return new Type1(model.Settings);
case "Type2":
return new Type2(model.Settings);
}
});
Тип1 и Type2 являются функциями с уникальными настройками для каждого типа модели. Это провалилось ужасно.
Возможно, я просто буду усложнять проблему, поэтому вторая пара глаз и любые предложения будут фантастическими!
Спасибо заранее!
Возможно, у меня есть время, чтобы представить полный ответ позже, если никто не делает в mea ntime, но пока - взгляните на шаблоны и, в частности, [динамически выбирая шаблон] (http://knockoutjs.com/documentation/template-binding.html#note-5-dynamically-choosing-which-template-is -used) –
@JamesThorpe вы можете добавить свое предложение в качестве ответа? :) – firstdoit
@firstdoit Сделано! Представьте, что нужно пересмотреть это в выходные ... –