Я использую Zend для создания моего основного хоста. Таким образом, это единственный HTML, который обрабатывается на стороне сервера. Мой сервер знает о параметре конфигурации, который я хочу передать до одной из моих моделей. Я не хочу, чтобы viewmodel запрашивал эти данные через ajax.Durandal: Как передать данные конфигурации из HTML Host в ViewModel?
Как я могу просматривать данные через main.js через оболочку, вплоть до моей модели просмотра в durandal?
Сейчас я устанавливаю значение в неприятном глобальном, то ссылках, что глобальной в моем ViewModels в моем index.phtml:
<script>
//This sucks, but i don't know how to pass stuff down into Durandal yet...
//
window.ServiceRoot = "<?=$this->contentRoot?>";
</script>
В прямом приложении KO я бы просто передал его на конструктор viewModel KO (или установите наблюдаемое свойство).
Технически я использую предварительный выпуск durandal 2.0, но я не думаю, что это имеет значение. Я думаю, мне нужно передать параметры с помощью тега script.js сценария, как и для основных параметров.
thx для подробного ответа, и если бы не мои условия, это сработало бы неплохо. Однако я не могу «получить» свою конфигурацию с сервера через ajax, потому что config - это собственный URL-адрес сервера. Приложение размещено на разных хостах/пути/подпути и, таким образом, единственный надежный способ узнать корневой URL-адрес служб находится на самом сервере.поэтому техника ajax не будет работать для меня. Я хочу, чтобы избежать возможности обнаружения логики обнаружения в JS, если это возможно. –
См. Мое редактирование. Надеюсь, это поможет. –
Ваш отредактированный ответ немного взломан, но гораздо меньше, чем мой супер глобальный хак. не могли бы вы определить право на главной странице? –