2014-08-28 20 views
11

Tôi đang sử dụng angular-ui-router và gặp sự cố với thẻ trống, như href = '#'. Tôi đang sử dụng bootstrap, mà sử dụng rộng rãi href = '#' cho dropdowns và như vậy. Vấn đề là nếu người dùng chọn một mục thả xuống thì router sẽ giải thích rằng đó là một sự thay đổi trạng thái, mà trong trường hợp này là đến trang chủ.Angular-ui-router và href = '#'

Có cách nào dễ dàng để ngăn chặn hành vi này mà không phải sử dụng để thay đổi tất cả href = '#' thành href = ''.

+0

Có thể bạn không chỉ loại bỏ các thuộc tính href hoàn toàn? Nó hoạt động cho tôi khi tôi đang sử dụng bootstrap và góc cạnh. – adam0101

+0

Vâng, đó có phải là trình duyệt chéo an toàn không? Tôi đoán vậy, nhưng chỉ muốn chắc chắn. –

+0

Một lưu ý thú vị, bộ định tuyến góc cơ bản không làm điều này. –

Trả lời

7

Chỉ cần xóa hoàn toàn thẻ href khỏi thẻ neo của bạn. Nó vẫn là một thẻ hoàn toàn hợp lệ mà không có nó.

Hoặc nếu bạn hiện đang sử dụng ui-sref trong thẻ neo, bạn thực sự có thể sử dụng thuộc tính href thay vì đi đến tuyến đường mà tiểu bang được ánh xạ tới.

+0

Cảm ơn, đây là những gì tôi đã làm cuối cùng. –

+0

Tại sao một người nào đó phản đối câu trả lời của tôi? Chăm sóc để đưa ra một lời giải thích? – adam0101

+0

Cảm ơn bạn cho câu trả lời này –

2

bạn có thể sử dụng, vì vậy bạn có thể duy trì liên kết và về cơ bản không phải làm gì khi nhấp của nó

<a ui-sref="state" href="javascript:void(0);">Your link</a> 
+0

I have used your code like below which works Your link

0

tôi sử dụng này:

<a href-void>Click me! I don't do anything, but i'm still a link!</a>