Угловой конфликт маршрута href

Привет, у меня есть общая панель навигации для всех моих страниц mvc. Это приложение MVC 4.0.

это модель сухарей навигация:

<div id="nav">
 <ul>
 @{ 
 Sample.Models.BreadCrumbsCollection cln = ViewBag.BreadCrumbs;
 if (cln != null)
 {
 for (int i = 0; i < cln.Count; i++)
 {
 if (i == 0)
 {
 <li><a href="@cln[i].Url" target="_blank">@cln[i].Text</a></li>
 }
 else
 {
 <li><a href="@cln[i].Url" target="_blank">@cln[i].Text</a></li>
 }
 }
 <li>
 </li>
 }}
 </ul>
</div>

в файле вида панировочные сухари его построены следующим образом:

@using sample.Models.Quotas;
@{ 
 ViewBag.Title = "Construction Quote";
 Layout = "~/Views/Shared/_Layout.cshtml";
 Sample.Models.BreadCrumbsCollection cln = new Sample.Models.BreadCrumbsCollection();
 cln.Add(new Sample.Models.BredCrumb() { Text = "Construction Quote", Url = "/quote/"});

 //cln.Add(new Sample.Models.BredCrumb() { Text = "Construction Quote", Url = "/quote/" + q.QuoteId.ToString() });
 cln.Add(new Sample.Models.BredCrumb() { Text = "Quotes", Url = "/quotes" });
 cln.Add(new Sample.Models.BredCrumb() { Text = "Home", Url = "/" });
 cln.IconUrl = "/Images/msg_icon.png";
 ViewBag.BreadCrumbs = cln;
}

Файл cs.app.js выглядит так:

var appModule = angular.module('SampleApp', ['ngResource', 'ngRoute', 'ngSanitize', 'ngCookies', 'ui.utils']);

appModule.config(function ($routeProvider, $locationProvider) {
 $routeProvider.when('/Quote/:quoteId', { controller: ConstructionQuoteController });
 $locationProvider.html5Mode(true);
});

Проблема заключается в том, что все ссылки href внутри страницы приложения работают, но их нужно выполнять с помощью ng-click и добавлять в сценарий $ в скрипте

href witten, как это работает:

Summary

но это не работает:

cln.Add(new Sample.Models.BredCrumb() { Text = "Home", Url = "/" });

что это делает, так это то, что все мои основные ссылки на навигатор и нижние колонтитулы не работают, поскольку они строятся с нормальным href=

как я могу изменить модель, чтобы использовать ng-щелчок, когда div вызывает контроллер, и все-таки заставить его работать для всех других нормальных ссылок href?

Спасибо за твою помощь

1 ответ

Для углового использования # в ссылках (см. Здесь http://plnkr.co/edit/55jSlti81Xggk6tue1HW?p=preview)

<a href="#/products/" target="_blank">Angular Product Link</a>

Для "Non Angular" используйте обычные ссылки

<a href="." target="_blank">Non Angular Product Link</a>

licensed under cc by-sa 3.0 with attribution.