Angular router.es5.js - 无法读取属性' path'未定义的,无法读取属性' canonicalUrl'未定义的

时间:2015-09-27 02:47:56

标签: angularjs path breeze grammar router

我使用了微风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>

注意:我的项目中的联系人与示例应用中的联系人无关。

如果需要更多代码或说明,请与我们联系。

如果有人想解决这个问题,我将非常感谢你的意见。

提前谢谢。

0 个答案:

没有答案