2015-10-28 2 views
0

Я создаю мобильное приложение с помощью IntelXDK. Я хочу переключить страницу (она имеет разный формат, чем текущий), и я хочу использовать метод activate_page.activ_page не работает в intelXDK

Если я вхожу через «конструктор» он работает хорошо, но когда я CopyPaste его к моему пользовательскому событию, я получил сообщение об ошибке:

'activate_page' is not defined. (W117) 

Что я делаю не так? Пожалуйста помоги.

Это мой код, все работает отлично до последней строки кода:

$("#product-list").on("click", "li a", function(evt) 
{ 
    /* your code goes here */ 
    productId = $(this).data('id'); //this is variable defined in outer scope - not important right now 
    showProduct(productId); // this is my other custom function which works - not important right now 
    activate_page("#product-details-view"); //this line doesn't work - very important right now ;) 
}); 

Чтобы ответить futere вопросы - да, у меня есть product-details-view страницу.

ответ

1

Похоже, что acivate_page является внутренней функцией AppDesigner, которая больше не может использоваться. Существует activate_subpage, который работает для меня, но опять же это внутренняя функция AD. Вместо этого вы должны использовать соответствующий вызов для используемой структуры. Например, если вы используете App Framework вы бы назвали loadContent, т.е.

af.ui.loadContent("#product-details-view"); 

Это было бы более уместно (и безопаснее), что нужно сделать, так как внутренние функции могут меняться в большом количестве различных способов.

1

Вам необходимо включить jshint глобальной директивы перед вызовом activate_page:

/* global activate_page */ 
activate_page("#product-details-view"); 

или вы можете настроить его вручную с помощью файла jshint ресурса.

См. http://www.jshint.com/docs/ для получения дополнительной информации о jshint.

Смежные вопросы