如何在angular2中注入位置?
发布时间:2020-12-17 06:58:47 所属栏目:安全 来源:网络整理
导读:我认为注入位置就像注入Http一样.然而,如果我在最后一行取消注释“公共位置:位置”,我的应用程序会中断 – 页面无法呈现.据我所知,我有正确的import和providers数组: import {Component} from 'angular2/core';import { ROUTER_DIRECTIVES,ROUTER_PROVIDER
我认为注入位置就像注入Http一样.然而,如果我在最后一行取消注释“公共位置:位置”,我的应用程序会中断 – 页面无法呈现.据我所知,我有正确的import和providers数组:
import {Component} from 'angular2/core'; import { ROUTER_DIRECTIVES,ROUTER_PROVIDERS,RouteConfig,Location,LocationStrategy,HashLocationStrategy } from 'angular2/router'; import {TaskForm} from './task_form'; import {TaskList} from './task_list'; import {AboutUs} from './about_us'; @Component({ selector: 'task-app',templateUrl: 'app/task_app.html',providers: [ROUTER_PROVIDERS],directives: [TaskForm,TaskList,ROUTER_DIRECTIVES] }) @RouteConfig([ {path: '/',component: TaskApp,as: 'Home'},{path: '/about_us',component: AboutUs,as: 'aboutUs'} ]) export class TaskApp { constructor(/*public location: Location*/) { 在我的index.html中,我有以下行: <script src="https://code.angularjs.org/2.0.0-beta.0/router.dev.js"></script> 在我的引导代码中,我有: import {bootstrap} from 'angular2/platform/browser'; import {HTTP_PROVIDERS} from 'angular2/http'; import {provide} from 'angular2/core'; import { ROUTER_DIRECTIVES,HashLocationStrategy } from 'angular2/router'; import {TaskApp} from './task_app'; import {MyService} from './my_service' bootstrap(TaskApp,[HTTP_PROVIDERS,MyService,provide(LocationStrategy,{useClass: HashLocationStrategy})]); 不确定我是否遗漏了某些内容或当前版本是否已损坏.如果是第一种情况,我错过了什么? 解决方法
在你的NgModule中
providers: [ { provide: 'locationObject',useValue: location} ] 在您的组件中,您需要将其注入 import { Component,Inject } from '@angular/core'; constructor( @Inject('locationObject') private locationObject: Location ) {} (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |