以编程方式导航到本地Kendo视图不起作用

时间:2013-04-21 02:22:05

标签: javascript mvvm telerik kendo-ui kendo-mobile

在kendoUI移动项目中,我正在使用最新的kendo.all.min.js文件(2013.1.319)和JQuery 1.9.1,如文档中所述。在我的一个视图模型中,我试图显示第二个视图,但它失败了:

  

TypeError:l为null

我有2个看法如下:

<div id="MainView" data-title="My Group List" data-role="view" 
   data-model="listModel" data-layout="StandardLayout">
   .
   .
</div>

<div id="SelectedView" data-title="View Group" data-role="view" 
  data-model="selectedModel" data-layout="StandardLayout">
   .
   .
</div>

在第一个视图的模型中,我有:

var listModel = kendo.observable({

    groups: [],

    viewGroup: function (e) {
        selectedModel.set("group", e.data);

                //kendoMobileApp variable pointing to a
                //kendo.mobile.Application object
        kendoMobileApp.navigate("#SelectedView"); /* ERROR HERE */
    }

我列出上面的错误,我得到TypeError l是null错误。知道为什么吗?我的语法是否关闭?尝试使用缩小的脚本进行调试一直令人沮丧,因为我知道不存在调试版本。

感谢。

1 个答案:

答案 0 :(得分:0)

@布赖恩

确保维护&#39; kendoMobileApp&#39;变量为全球变量。

HTML:

<div id="MainView" data-title="My Group List" data-role="view" 
   data-model="listModel" >
       <div>Main View</div>
       <div><a data-role="button" data-bind="click: navigateToSelected">Go to Selected view</a></div>
</div>

<div id="SelectedView" data-title="View Group" data-role="view" 
  data-model="selectedModel">   
      <div>Selected View</div>
       <div><a data-role="button" data-bind="click: navigateToMain">Go to Main view</a></div>
</div>

JavaScript的:

var listModel =  kendo.observable({
    navigateToSelected: function(){
        kendoMobileApp.navigate('#SelectedView');
    }

});
var selectedModel =  kendo.observable({
    navigateToMain: function(){
        kendoMobileApp.navigate('#MainView');
    }
});

var kendoMobileApp = new kendo.mobile.Application();

请参阅jsFiddle导航的简单示例。 注意:我没有使用布局,因为这在这里并不重要。