TypeError: Результат выражения 'toPage.data ("page")' [undefined] не является объектом - в jquery mobile - PullRequest
4 голосов
/ 22 марта 2012

Я использую представление jQuery Mobile Split в своем приложении.Работает нормально.Мне нужен разделенный вид только для некоторых страниц и для обычных страниц, которые я установил data-role="page".Когда я пытаюсь загрузить обычные страницы, отличные от страниц с разделенным видом, я получаю следующую ошибку

"TypeError: Result of expression 'toPage.data( "page" )' [undefined] is not an object."

In jquery.mobile-1.0.js line number 2458

toPage.data( "page" )._trigger( "beforeshow", null, { prevPage: fromPage || $( "" ) } );

Ответы [ 2 ]

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

я столкнулся с той же проблемой. это не происходит для всех страниц, только несколько из них. это не решение, а временный обходной путь.
просто попробуйте уловить попытку: «Ваше приложение будет работать нормально. это не повлияет на работу вашего приложения.
скажите, можете ли вы найти реальную проблему, стоящую за этой ошибкой.

0 голосов
/ 04 июня 2013

параметр changePage должен быть объектом DOM.Поэтому, если вы хотите использовать changePage вручную, вы должны предоставить ему объект DOM.Я предлагаю вам использовать их для получения объекта DOM страницы

var allPage = $('div.ui-page');//get the DOM of the all pages on the html page
console.log(allPage);

var mainPage = allPage.prev("div#Mainpage");//find to get the previous page
console.log(mainPage);

//input for changePage must be DOM object --> so how we get DOM object?, see some previous lines we'll see the solution
$.mobile.changePage(mainPage, {transition: "slide", reverse: true}, true, true);

Как вы можете видеть: в первой строке я получаю весь объект DOM со своей страницы.в следующей строке я ищу в предыдущих объектах DOM, чтобы найти нужную мне страницу.и, наконец, вы можете передать его в функцию changePage.Это будет отлично работать.

...