我正在使用混合角度方法(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}
]