У меня проблема со списком/подробным рисунком. У меня есть класс Article, наследующий от QObject
, определяющий некоторые свойства (title
, updated
и content
- те, которые имеют значение сейчас). Чтобы заполнить мой (QML) ListView
, у меня есть C++ GroupDataModel
, заполненный некоторыми Article*
. Вот мой список-х onTriggered
:BlackBerry 10 Cascades app stuck влияет на свойство
onTriggered: {
if (indexPath.length > 1) {
currentArticle = dataModel.data(indexPath);
var page = articlePageDefinition.createObject();
nav.push(page)
}
}
Как вы можете догадаться, articlePageDefinition
определяет страницу, используя верхний currentArticle
свойства.
Теперь, когда я показываю статью, один раз, он работает нормально. Я могу вернуться, нажать на тот же элемент списка, отобразить те же самые Article
детали, отлично работает. Но когда я выбираю вторую статью, приложение зависает. Я могу вернуться в свою навигационную панель, но больше не могу нажимать на элементы списка. Я попытался добавить несколько журналов, onTriggered
застрял на currentArticle = dataModel.data(indexPath);
. На этом этапе я могу регистрировать каждое свойство dataModel.data(indexPath)
без каких-либо проблем. Я пытался не создавать/нажимать страницу, просто влиять на currentArticle
и отображать некоторые ее свойства, она тоже работает отлично. Я действительно не понимаю, что я делаю неправильно здесь, любая помощь оценивается.
В случае, если вы хотите увидеть больше кода, здесь есть все: https://github.com/Kernald/tt-rss-bb10/tree/e29e3b616aa179dd42f66804ecc20a6a45b6bb22
Я не знаю, что может вызвать вашу проблему, но я бы посоветовал вам не использовать глобальную переменную Javascript для «currentArticle». Предпочитаете использовать свойство или функцию setData – Benoit
Я попытался сегодня утром заменить свойство 'currentArticle' свойством' article' на странице подробностей, он работает нормально. Вы правы, что это хороший способ сделать это, и я сохраню его таким образом. Но мне все еще интересно узнать причину оригинальной проблемы. –