我用jquery-mobile开发了一个应用程序。现在我正在尝试为它设置一个茉莉花框架。
在原始代码中,我正在动态创建列表视图。将项目追加到ul.list
之后,我
我正在呼叫ul.list.listview('refresh');
这在主应用程序中按预期工作。
我添加了不同的UT,以检查此列表中不同事件的行为。所以每次我调用populate函数来加载这个列表。 我的茉莉花代码的一般结构是:
describe("List behavior", function() {
beforeEach(function(){
var obj = new listObj({});
loadFixtures('list.html');
$('ul.list').trigger('create');
});
it("should ...", function() {
obj.populate(somelist);
.
.
});
it("should ...", function() {
obj.populate(somelist);
.
.
});
it("should ...", function() {
obj.populate(somelist);
.
.
});
});
填充方法的代码是
this.populate = function(somelist) {
$('ul.list').append(somelist).listview('refresh');
};
当该行出现'listview('refresh')'时,它会给出错误Uncaught Error: cannot call methods on listview prior to initialization; attempted to call method 'refresh'
虽然我在每次测试执行之前创建listview。然后我所有的成功测试都失败了。
我尝试过的事情及其结果:
1.我尝试将'ui-listview'
分配给ul.list
,而不是创建列表视图。它仍然没有用。
$('ul.list').listview()
,错误为TypeError: Cannot read property 'jQuery110203482820538338274' of undefined
。但是这会将所需的类分配给ul。任何人都可以建议我一些解决方法,以便我可以执行所有测试而不会出现此错误吗? 感谢。