angular4 頁面引數獲取

2022-03-06 02:04:17 字數 2382 閱讀 2453

問題描述

我使用angular2.0.0-beta.7。當元件在像」/path?query=value1″這樣的路徑上載入時,它被重定向到」/path」。為什麼刪除了get引數?如何保留引數?

路由器出現錯誤。如果我有一條主路線

@routeconfig([

])和我的孩子路線一樣

@routeconfig([,])

我不能在todolistcomponent中獲取引數。

我可以得到矩陣

params("/my/path;param1=value1;param2=value2")

但我想要經典

query params("/my/path?param1=value1¶m2=value2")

最佳解決方案

角2.0最終解決方案。看來routeparams已被棄用。改為:

import from 『@angular/router『;

import from 『@angular/core『;

@component()

export class mycomponent implements oninit, ondestroy

ngoninit() );}}

如果要獲取查詢引數,請將this.activatedroute.params替換為this.activatedroute.queryparams

關於不支援的說明

@reto和@ codef0rmer非常正確地指出,根據官方文件,unsubscribe()內部的元件ondestroy()方法在這種情況下是不必要的。這已從我的**示例中刪除。 (請參閱我需要取消訂閱this教程的部分)

次佳解決方案

即使這個問題指定版本beta 7,這個問題也是谷歌搜尋結果的最佳搜尋結果。為此,這裡是最新的路由器的答案(目前在alpha.7)。

讀取引數的方式發生了巨大變化。首先你需要在你的建構函式中注入乙個叫做router的依賴關係,比如:

constructor(private router: router)

之後,我們可以在ngoninit方法上訂閱查詢引數(建構函式也可以,但ngoninit應該用於可測試性)

this.router

.routerstate

.queryparams

.subscribe(params => );

在本例中,我們從url讀取查詢引數,如example.com?id=41。

還有一些事情要注意:

訪問params的屬性,如params[『id『]總是返回乙個字串,可以通過+字首將其轉換為數字。

查詢引數被observable提取的原因是它允許re-using是相同的元件例項,而不是載入乙個新的例項。每次查詢引數更改時,都會導致我們訂閱的新事件,因此我們可以對相應的更改做出反應。

第三種解決方案

import from 『@angular/router『;

constructor(private activatedroute: activatedroute)

第四種方案

當乙個這樣的url這樣的

您可以通過以下**獲取param1:

import from 『@angular/core『;

import from 『@angular/router『;

@component()

export class abccomponent implements oninit

ngoninit()

}第五種方案

首先,我發現使用angular2的是具有查詢字串的url將是/path;query=value1

要使用您使用的元件訪問它是這樣的,但現在遵循**塊:

constructor(params: routeparams)

至於為什麼在載入元件時會被刪除,這不是預設行為。我特別檢查了乙個乾淨的測試專案,沒有被重定向或更改。它是預設路由還是其他特殊的路由?

請閱讀中angular2教程中的查詢字串和引數的路由

第六種方案

您可以使用activatedroute在url中傳遞查詢引數,如下所示:

}第七種方案

嗨,你可以使用urlsearchparams,你可以閱讀更多關於它的here。

進口:import from "@angular/http";

功能:getparam()

注意:它不受所有平台的支援,似乎在」experimental」狀態由角度文件

PHP MYSQL登陸頁面4

登陸頁面 echo 問題1 為什麼要denglu.php傳到這裡,因為php 獲取的也在這個頁面上啊,問題2 為什麼密碼只乙個,呵呵,這個登陸好嗎,你的使用者名稱 密碼已經儲存好了,登陸合適就可以了呀 為什麼這個頁面也要用session技術,因為使用者登入後沒退出下次登陸到這個頁面也是登陸後頁面哈,...

WEB自動化(4) 頁面跳轉

1.原視窗開啟新頁面 這種方式 windowhandle值不會有改變,可以直接繼續操作 2.新視窗開啟新頁面 記錄現在這個視窗的值,盡量在未開啟前記錄下來 string oldwin driver.getwindowhandle 獲取當前所有視窗的值,並使用新的值跳轉到新視窗去 setnewwin ...

Android登陸頁面,獲取驗證碼按鈕的實現

其實實現起來非常簡單,只需要學習乙個類就可以了。不羅嗦,直接上 class timecount extends countdowntimer override public void onfinish override public void ontick long millisuntilfinis...