Durandal 子路由器找不到视图
Durandal Child router not finding views
在我开始讨论这个问题之前,先概述一下我的项目结构
-- Common
--services
--views
--viewmodels
-- Product1
--services
--views
-- mywork
-- overview.html
-- sections
-- audit.html
-- completed.html
-- attention.html
-- index.html
--viewmodels
-- mywork
-- overview.js
-- sections
-- audit.js
-- completed.js
-- attention.js
-- index.js
现在我在 Product1 中设置了一个名为 mywork 的部分,其中包含一个子路由器。 shell.js中的核心路由是使用splat设置的。
{ route: 'myWork*details', moduleId: 'product1/viewmodels/myWork/overview', title: 'My Work' }
然后子路由创建为
var childRouter = router.createChildRouter()
.makeRelative({ moduleId: 'product1/viewmodels/mywork/sections', fromParent: true })
.map([
{ route: [''], moduleId: 'index', title: 'Overview', icon: 'fa-cogs', nav: false },
{ route: 'audits', moduleId: 'audits', title: 'Audits', icon: 'fa-list', nav: true },
{ route: 'completed', moduleId: 'completed', title: 'Tracked Records', icon: 'fa-list', nav: true },
{ route: 'attention', moduleId: 'attention', title: 'Requires Attention', icon: 'fa-list', nav: true }
]).buildNavigationModel();
主要问题是通过导航栏访问任何页面时出现错误...
View Not Found. Searched for "product1/views/mywork/sections/audits" via path "text!product1/views/mywork/sections/audits.html".
然而,由路由 [''] 定义的概览页面视图工作正常。关于为什么我的其他视图没有找到的任何想法,即使视图模型和文本是什么!在错误路径之前?
请注意,子路由在 html 文件中至少需要一个 <div></div>
标记,我认为这是由于某种类型的 id 分配,否则子路由将找不到该视图.
在我开始讨论这个问题之前,先概述一下我的项目结构
-- Common
--services
--views
--viewmodels
-- Product1
--services
--views
-- mywork
-- overview.html
-- sections
-- audit.html
-- completed.html
-- attention.html
-- index.html
--viewmodels
-- mywork
-- overview.js
-- sections
-- audit.js
-- completed.js
-- attention.js
-- index.js
现在我在 Product1 中设置了一个名为 mywork 的部分,其中包含一个子路由器。 shell.js中的核心路由是使用splat设置的。
{ route: 'myWork*details', moduleId: 'product1/viewmodels/myWork/overview', title: 'My Work' }
然后子路由创建为
var childRouter = router.createChildRouter()
.makeRelative({ moduleId: 'product1/viewmodels/mywork/sections', fromParent: true })
.map([
{ route: [''], moduleId: 'index', title: 'Overview', icon: 'fa-cogs', nav: false },
{ route: 'audits', moduleId: 'audits', title: 'Audits', icon: 'fa-list', nav: true },
{ route: 'completed', moduleId: 'completed', title: 'Tracked Records', icon: 'fa-list', nav: true },
{ route: 'attention', moduleId: 'attention', title: 'Requires Attention', icon: 'fa-list', nav: true }
]).buildNavigationModel();
主要问题是通过导航栏访问任何页面时出现错误...
View Not Found. Searched for "product1/views/mywork/sections/audits" via path "text!product1/views/mywork/sections/audits.html".
然而,由路由 [''] 定义的概览页面视图工作正常。关于为什么我的其他视图没有找到的任何想法,即使视图模型和文本是什么!在错误路径之前?
请注意,子路由在 html 文件中至少需要一个 <div></div>
标记,我认为这是由于某种类型的 id 分配,否则子路由将找不到该视图.