WinJS.UI.getControl в VS 11 Ultimate метро приложение - PullRequest
1 голос
/ 03 февраля 2012

WinJS.UI.getControl не определен в VS 11 Ultimate. Есть ли альтернативы, чтобы сделать то же самое?

Я имею в виду, как я могу получить доступ к элементам управления WinJS в JavaScript?

Ответы [ 4 ]

1 голос
/ 20 марта 2012

Не знаю, является ли эта проблема все еще действительной или нет, и какова была первоначальная причина, но в любом случае: хорошо помнить, что начиная с версии WinJS, поставляемой с Consumer Preview, нет функции WinJS.UI.getControl () больше вместо этого следует использовать синтаксис

var appBar = document.getElementById("appBar").winControl;

Подробнее см. В официальном руководстве по миграции .

0 голосов
/ 06 февраля 2012

Похоже, что есть ошибка с шаблоном проекта JavaScript, включенным в окончательную версию, папка winjs и файлы JavaScript в папке не включены по умолчанию.

Просто скопируйте эту папку из экспресс-издания или добавьте ее в шаблон проекта.

0 голосов
/ 06 февраля 2012

@ 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 в них. Если они отсутствуют, то ваш установщик, вероятно, столкнулся с проблемой в какой-то момент.

0 голосов
/ 04 февраля 2012

Нет разницы в 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"));
...