0

问题 #1

我正在尝试为自己定制 angular-route-provider 示例。我正在尝试为第 1 节中的每个元素实现单独分隔的选项卡。

我的部分 #/section1/hs(hs.html) 仍然为选项卡实现 #/section1/hs/X 而不是 #/section1/hs/ov 。

您可以在此处查看 app.js 代码。

我尝试过使用首选项示例和其他方法,但它不起作用。

问题 #2

此外,当我在 templateUrl 中使用另一个角度应用程序路径时,页面似乎无法正确加载(仅显示文本)。是不是因为不能在 templateUrl 中调用另一个 Angular 应用程序。我不确定这一点,因为我不是 AngularJS 专家。

下面是我的这个例子的代码。任何帮助将不胜感激。

section1.html

<li ng-repeat="i in items" 
ng-class="{active:('s1.itemInfo' |  routeSegmentStartsWith) && 
('id' | routeSegmentParams) == i}">

<a ng-href="#{{'s1.itemInfo' | routeSegmentUrl: {id: i} }}">{{i}}</a>

</li>

<li ng-class="{active:('s1.hs' | routeSegmentStartsWith)}">
<a ng-href="#{{'s1.hs' | routeSegmentUrl }}">HTML/CSS</a>
</li>

<li ng-class="{active:('s1.prefs' | routeSegmentStartsWith)}">
<a ng-href="#{{'s1.prefs' | routeSegmentUrl }}">Preferences</a>
</li>

hs.html

<ul class="nav nav-tabs">
<li ng-class="{active: $routeSegment.contains('ov')}">
<a href="#/section1/hs/ov">Overview</a>
</li>   
</ul>

<div app-view-segment="2" class="anim" No tab selected.> </div>
4

1 回答 1

0

如果您实际输入,/section1/hs/ov它会将您导航到正确的页面吗?您的误解是,通过导航到s1.hs选项卡应该来自templates/secion1/hs.html但它被覆盖.when('/section1/:id', 's1.itemInfo')

因此,在您导航到存在的更高目录之前,在这种情况下section1/hs/ov,不会加载模板。/section1/anything/tab1将导致仍然加载tab1.html,因为除了设置标题名称之外,该 id 并未真正用于任何其他用途。

要使用 templateUrl 转到不同的 Angular 应用程序,即在您的应用程序模块声明中未作为依赖项注入的应用程序,您将需要重新加载页面。如果您将 templateUrl 设置为/templates/newapp.html并在您的 html ng-href={{'newapp' | routeSegmentUrl }}"m 中确保省略#,它应该可以工作。

于 2016-10-11T18:26:33.667 回答