對子路由的進一步理解

在之前的時候一直覺得angular的子路由就是下一次跳轉的位置,雖然若是你不用 router-outlet導出的話他會顯示不出來,但也僅僅這樣了,也沒有細細研究過,直到遇到了這周的問題,果真錯誤讓人進步。編程

No provider for

照着老師之前寫的彈窗抄了一下,可卻報了錯ide

clipboard.png
該引入的也已經引入了工具

clipboard.png
當時找了一會,也沒找到問題所在,就報着死馬當活馬醫的心態,不是說缺乏provider嗎,我就給他個provider學習

clipboard.png

這樣一弄,顯示卻是能顯示出來了。ui

clipboard.png

功能卻無法使用spa

clipboard.png

不過這一搞,卻是讓我感受基礎至關不紮實,順便學習了一下provides的具體用途code

服務模塊提供了一些工具服務,好比數據訪問和消息。理論上,它們應該是徹底由服務提供商組成的,不該該有可聲明對象。Angular 的 HttpClientModule 就是一個服務模塊的好例子。

根模塊 AppModule 是惟一的能夠導入服務模塊的模塊。component

說的很清楚,不該該有可聲明對象,我上面的用法顯然是不對的。更詳細的內容請看官方文檔router

問題所在

當時因爲立刻就要期中考試了,簡單的問了問張喜碩組長後就去了,考試的就一直在想這個問題,明明用法和潘老師的如出一轍,個人卻有這種問題,惟一的不一樣就是沒用router-outlet,而router-outlet是給子路由使用的,我感受本身可能發現了真相,但殊不知道爲啥,考完以後回來一試。果真就成了。對象

配置子路由

const routes: Routes = [
    {
        path: '',
        component: GetLoginPrivilegesComponent,
        children: [
            {
                path: 'register',
                loadChildren: '../get-login-privileges/register-index/register-index.module#RegisterIndexModule',
            },
            {
                path: 'forgetPassword',
                loadChildren: '../get-login-privileges/forget-password/forget-password.module#ForgetPasswordModule',
            },
        ]
    },

];

@NgModule({
    imports: [RouterModule.forChild(routes)],
    exports: [RouterModule],
})
export class GetLoginPrivilegesRoutingModule {
}

界面功能全有
clipboard.png

通過嘗試,是由於子路由的緣由。

對緣由的猜想

  1. 子路由與父路由是否會讓組件之間有繼承關係。
  2. 子路由對應的組件已經成爲了父組件的一部分,因此能夠自由調用父組件的方法

若是有大神解答相關疑惑,感激涕零。

一點感想

不一樣的階段對一樣的問題,仍是會有不同的理解的,就像潘老師常說的有的時候找到一個讓本身信服的理由就夠了,雖然在編程的道路上,本身仍是很菜,不少問題仍是知其然,但殊不知其因此然,但也確實是漸漸的成長了。慢慢來吧。

相關文章
相關標籤/搜索