WinJS.UI.getControl не определен в VS 11 Ultimate. Есть ли альтернативы, чтобы сделать то же самое?
Я имею в виду, как я могу получить доступ к элементам управления winJS в javascript?
WinJS.UI.getControl не определен в VS 11 Ultimate. Есть ли альтернативы, чтобы сделать то же самое?
Я имею в виду, как я могу получить доступ к элементам управления winJS в javascript?
Не знаю, актуальна ли эта проблема до сих пор или нет, и какова была первоначальная причина, но в любом случае: полезно помнить, что, начиная с версии WinJS, поставляемой с Consumer Preview, больше нет функции WinJS.UI.getControl(), вместо этого следует использовать синтаксис
var appBar = document.getElementById("appBar").winControl;
Подробнее см. в официальном руководстве по миграции.
Нет никакой разницы в IDE с точки зрения вашего исходного кода. Это означает, что нет такой вещи, как это определено в Ultimate, но не в Express. VS Ultimate дает вам больше инструментов, но не меняет код, который у вас есть (если только вы не используете такие инструменты :)).
Убедитесь, что вы включили ui.js
<script type="text/javascript" src="winjs/js/ui.js"></script>
Вы можете использовать его следующим образом:
var appBar = WinJS.UI.getControl(document.getElementById("appBar"));
Похоже, что есть ошибка с шаблоном проекта JavaScript, включенным в окончательную версию, папка winjs и файлы JavaScript в папке не включены по умолчанию.
Просто скопируйте эту папку из экспресс-версии или добавьте ее в шаблон проекта.
@Null Pointer Я заметил, что у вас есть еще один вопрос об отсутствующих ссылках JS в приложениях Metro. Лично я без проблем установил VS Ultimate на несколько компьютеров с Windows 8.
Мне интересно, были ли у вас проблемы с установщиком. Не могли бы вы попробовать удалить/переустановить Visual Studio и посмотреть, исправит ли это ситуацию.
Также вы можете проверить содержимое zip-файлов в «C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\ProjectTemplates\JavaScript\Windows Metro style\1033» и убедиться, что они содержат 9 стандартных файлов JS. в них. Если они отсутствуют, вероятно, ваш установщик в какой-то момент столкнулся с проблемой.