ngUpgrade AngularJS和Angular 2路由

时间:2018-12-04 18:39:47

标签: angularjs angular angular-ui-router

我正在使用混合角度方法(ngUpgrade)将AngularJS升级到Angular 2

我想使用Angular2路由器加载AngularJS组件。

我已将一个控制器转换为组件

转换后的组件以前使用$ state.go()方法进行重定向,因此,我尝试将其替换为Router => router.navigate()。

但是现在重定向之后需要加载的控制器仍然在AngularJS中,我不知道如何加载它,因为我不能使用{path:'sample',component:SampleComponent},因为它尚未转换到Angular2。

$stateProvider
        .state('login', {
            url: '/login',
            component: 'login'
        })
        .state('sample', {
            url: '/sample',
            component: 'sample'
        })

login.component.ts

export class LoginComponent implements OnInit {
        constructor(private router: Router){}
        // $state.go('sample')
        this.router.navigate(['/sample']);
    }

sample.component.ts

export default {
    template: html,
    bindings: {
        templates: '<'
    },
    controller: ['$scope', '$state', function($scope, $state) {
    }
}

sample仍然是AngularJS控制器。 示例状态现在无法正常运行,因为我没有在更新的LoginComponent中调用$ state.go

使用我得到的代码无法匹配任何路线。网址段:“示例”,因为我没有该设置

const routes: Routes = [
    { path: 'login', component: LoginComponent }
    // { path: 'sample', component: SampleComponent}
]

0 个答案:

没有答案