2016-04-20 18 views
20

में एक तत्व को राउटरलिंक या अन्य विशेषता निर्देशों को सशर्त रूप से जोड़ें, यदि मेरे पास <button></button> जैसे तत्व हैं, तो मैं सशर्त रूप से [routerLink]="['SomeRoute'] जैसे एक विशेषता निर्देश कैसे जोड़ सकता हूं?एंगुलर 2

+1

जांच इस [जवाब] (http://stackoverflow.com/questions/35431188/angular-2-disable-routerlink) – kemsky

उत्तर

9

जहां तक ​​मुझे पता है कि ऐसा करने का कोई सीधा तरीका नहीं है। वहाँ कुछ कामकाज से जुड़े हैं ... मैं कुछ इस तरह इस्तेमाल किया: link

+1

क्या आप भले ही कोई मार्ग है यह प्रदर्शित करना चाहते हैं तो क्या होगा? – Julien

46

या आप बस एक शर्त विशेषता को जोड़ सकते हैं:

<button *ngIf="condition" [routerLink]="['SomeRoute']></button> 
<button *ngIf="!condition"></button> 

यहाँ एक समान चर्चा नहीं है।

<button [routerLink]="myVar ? ['/myScreen'] : []"></button> 

केवल '/ myScreen' पर रीडायरेक्ट करें यदि मेरा वायर सत्य है।

+1

शायद कुछ पुराने कोणीय संस्करण के लिए ठीक है, मेरे 2.4.8 में यह 'test' दिखाता है '/ मार्ग/आईडी' – Toolkit

+0

कोणीय 4 में यह परिणाम '/' के 'href' मान में होता है जब यह वांछित नहीं होता है। – isherwood

+0

मैं एक ही बात '' कर रहा हूँ लेकिन मैं पृष्ठ लोड पर निम्न त्रुटि मिलती है: ** त्रुटि त्रुटि: Uncaught (वादा में): त्रुटि: किसी भी मार्गों से मेल नहीं कर सकते हैं। यूआरएल सेगमेंट: 'अपरिभाषित' ** – Mahesh

0
<div [ngClass] ='{"disabled-link":!isMicrositeEnable,"cursor-pointer":"isMicrositeEnable"}' [routerLink]="isMicrositeEnable ? ['/microsite'] : []">