我有来自twitter bootstrap的标签导航,我用它来浏览我的页面。
当我点击tournaments
时,视图不会更新,但网址现在会显示#/tournaments
:
但是,如果我点击网址栏,然后按回车键,则会更改视图:
我已经使用build文件夹和编译文件夹设置了项目。当项目在build文件夹中时,一切正常。然后我使用grunt来连接和缩小文件,并将它放在已编译的文件夹中,这就是它开始像这样的行为。
我使用r.js
进行连接和缩小(我正在使用require.js
)并且在此过程中我没有收到任何错误。正如我强制刷新浏览器窗口时所看到的那样,所有html视图也会被正确复制。
就像角度不会对位置的变化做出反应一样,但active-tab
(标题为灰色的那个)会被正确交换。它只是不更新的视图。
有谁知道这是什么?
我已将标签放在自己的指令中:
define(['angular'], function (ng) {
var directives = ng.module('directives', []);
/* top navigation tabs */
directives.directive('tabset', function () {
return {
restrict: 'E',
scope: {},
transclude: true,
replace: true,
template: '<ul class="nav nav-tabs" ng-transclude></ul>'
};
})
.directive('tab', ['$location', function ($location) {
return {
restrict: 'E',
replace: true,
scope: {
route: '@',
title: '@'
},
link: function (scope, element, attrs) {
var route = attrs.route;
scope.location = $location;
scope.active = false;
scope.$watch('location.path()', function (new_route) {
scope.active = route === new_route;
});
},
template: '<li data-ng-class="{active: active}">' +
'<a href="#{{route}}">{{title}}</a>' +
'</li>'
};
}]);
return directives;
});
我这样用:
<tabset>
<tab data-route="/home" data-title="Home"></tab>
<tab data-route="/tournaments" data-title="Tournaments"></tab>
<tab data-route="/about" data-title="About"></tab>
</tabset>
问题出现在缩小和连接之后。
编辑:似乎它没有加载所有来源:
在build
路径中:
在compiled
路径中:
当我点击build
路径中的某个链接时,会为我需要的视图发送http GET请求,这不会发生在compile
路径中。
.../build/#/...
有效。
.../compiled/#/...
不起作用。