2016-06-09 97 views
0

我正在設計一個Angular 2應用程序,允許用戶取消他們所在的屏幕並返回頁面。雖然這有效,但首次單擊該按鈕會使頁面滾動到頂部,隨後的按鈕按下會導致預期的操作。我試圖從click方法返回false,但它不起作用。我認爲這可能與該按鈕嵌入在兩個div元素下面並且冒泡的事實有關。按鈕點擊方法滾動到頁面頂部,而不是執行動作

我的按鈕的代碼是:

<div class="col__7-12"> 
    <button class="u__right u__text--alternate u--paddingTop" (click)="cancelClicked()" >Cancel</button> 
</div> 

的canceClicked()方法是:

cancelClicked(){ 
    window.history.back(); 
    return false; 
} 
+0

); event.preventDefault(); }' – uzaif

+0

讓我知道你是否有任何問題.. – uzaif

+0

你使用的路由器? –

回答

0

使用試一試:window.history.go(-1) 和在評論mentionned確保了preventDefault()當調用'cancelClicked()`使用參數`$ event`並且以這種方式寫入的方法`cancelClicked(event){ window.history.back(

+0

這是我的理解,返回false也會起作用。我使用的是Angular 2,而不是1,所以我不確定傳遞事件是否以相同的方式工作?它給了我一個錯誤,說$ cancel事件在canceClicked方法中是未定義的。 –

相關問題