2017-01-02 2 views
1

У меня есть страница фильтра поиска, в которой отображаются продукты поиска, а также отображается информация о продукте в модальном режиме, когда пользователь нажимает на продукт поиска.Установить активированный необязательный параметр «id» без навигации вообще

Я хочу, чтобы программный код существующего id активированногоRoute был установлен, когда пользователь нажимает на продукт. Вот почему он не является обязательным - при первой загрузке он не будет иметь никаких параметров, пока пользователь не нажмет на него - тогда они смогут поделиться этой ссылкой с конкретным продуктом после нажатия на него копией и вставить его из URL-адреса браузера.

Это моя попытка программно установить дополнительные параметры:

маршруты:

export const routerConfig: Routes = [ 
    { 
     component: LandingPageComponent, 
     path: "", 
    }, 
    { 
     component: FindPageComponent, 
     path: "find/:id", 
    }, 
    { 
     component: FindPageComponent, 
     path: "find", 
    },... 

набор activatedRoute ID опциональный Param:

export class ResultCardComponent { 
    @Input() public result: Result; 
    @Output() public onResultClicked: EventEmitter<Result> = new EventEmitter<Result>(); 
    public paramsSub: any; 
    public selectedId: any; 

    private resultId: string; 

    constructor(
     private route: ActivatedRoute, 
     private router: Router, 
    ) { } 

    public emitResult() { 
     this.onResultClicked.emit(this.result); 
     this.paramsSub = this.route.params.subscribe((params) => this.selectedId = params["id"]); 
     this.router.navigate(["find", this.result.id]);//only doing this as a hack workaround. 
    } 
} 

В идеале я хочу, чтобы удалить нижнюю строку, как прекратить физическую навигацию, являющуюся отходами ресурсов

EDIT: это похоже на работу:

public emitResult() { 
     //this.onResultClicked.emit(this.result); 
     this.route.params['id'] = this.result.id; 
    } 

однако это не меняет URL, я думаю, потому что оно не загрузить страницу снова

ответ

0

this response Пожалуйста, смотрите, для дополнительных параметров Я думаю, что вы» Вам нужно будет использовать параметры запроса!

 Смежные вопросы

  • Нет связанных вопросов^_^