Предисловие
Я редко когда-либо был разработчиком JS, и это моя первая попытка что-то сделать с Knockout.js.Вопрос, который должен следовать, вероятно, иллюстрирует обе точки.
Backgound
У меня есть довольно сложное приложение MVC3, которое я пытаюсь заставить работать с KO (v2.0.0+0,0).Мое приложение MVC предназначено для общего управления тем, какие поля отображаются в представлении (и как они добавляются в представление).Он использует частичные представления, чтобы решить, что рисовать в представлении, основываясь на разрешениях пользователя (если пользователь находится в группе A, тогда показать элемент управления A, если пользователь в группе B затем показать элемент управления B или, возможно, если пользователь находится в группе A, вообще не включайте элемент управления).Кроме того, моя модель очень плоская, поэтому я не уверен, что встроенная возможность применить мою ViewModel к определенной части вида поможет.
Мое решение этой проблемыобеспечить действие в моем контроллере, которое отвечает объектом в формате JSON, который содержит селектор JQuery и содержимое, которое назначается атрибуту «data-bind», и привязывает ViewModel к представлению в событии $(document).ready
, используя значения
Неудачное подтверждение концепции
Моя первая попытка доказать, что это работает, на самом деле, похоже, не работает, и "не работает"Я имею в виду, что он просто не связывает значения вообще (как можно увидеть в this jsfiddle ).Я пробовал это с applyBindings
внутри события ready
и нет, но это, кажется, не имеет никакого значения.
Вопрос
Что я делаю не так?Или это просто не то, что может работать с нокаутом (хотя я видел, по крайней мере, один пример в Интернете, делающий то же самое, и это предположительно работает)?
Как я уже говорил в предисловииЯ только когда-либо делал вид, что являюсь разработчиком JS (хотя я обычно заставлял его работать в прошлом), поэтому я не знаю, с чего начать, пытаясь понять, что я делаю неправильно.Надеюсь, это не настоящий вопрос нуба.