我使用了微风TempHire示例项目(在此处找到:http://breeze.github.io/doc-samples/temp-hire-angular.html)作为我项目的起点。在启动这个示例项目时,我已经在控制台中遇到路径错误(在serializeInstruction),但是应用程序似乎运行正常,所以我继续使用它。 很久以后,我到了需要带参数链接的地步(/:id),我不能为我的生活让路由器去做。 尝试使用ng-link和breeze应用程序方法
<a href="/#/contacts/{{contact.id}}">{{contact.name}}</a>
以及其他一些尝试,都是徒劳的。 我尝试了多个版本的路由器,人们发现了所有的解决方法,但似乎没有任何工作。我一直收到以下错误:
未捕获的TypeError:无法读取属性&#39; canonicalUrl&#39;未定义的
TypeError:无法读取属性&#39; canonicalUrl&#39;未定义的 在Grammar.recognize
并在导航栏上进行路由
TypeError:无法读取属性&#39;路径&#39;未定义的 在serializeInstruction
为了澄清,似乎只有Grammar.recognize错误实际上阻止了路由。
以下是导致该错误的代码: 我的shell.js中的初始路由器配置:
self.navigations = [
{ href: '/#/home', title: 'Home' },
{ href: '/#/contacts', title: 'Contact Management' }
];
self.$router.config([
{ path: '/home', component: 'home' },
{ path: '/contacts', component: 'contacts' },
]);
self.$location.path('/home');
在contacs.js中:
function controller($q, $router, errorhandler, unitofwork, $modal, logger) {
$router.config([
{
path: '/:id',
component : 'tags'
}
]);
在contacts.html中:
<tr class="selectable-row" ng-repeat="contact in contacts.contacts track by $index">
<td><a href="/#/contacts/{{contact.id}}">{{contact.name}}</a></td>
注意:我的项目中的联系人与示例应用中的联系人无关。
如果需要更多代码或说明,请与我们联系。
如果有人想解决这个问题,我将非常感谢你的意见。
提前谢谢。