ページをナビゲートするために使用している Twitter ブートストラップのタブ ナビゲーションがあります。
ビューをクリックしtournaments
ても更新されませんが、URL が表示されるようになりました#/tournaments
:
しかし、URL バーをクリックして Enter キーを押すと、ビューが変わります。
ビルド フォルダーとコンパイル済みフォルダーを使用してプロジェクトをセットアップしました。プロジェクトがビルド フォルダーにある場合、すべて正常に動作します。次に、grunt を使用してファイルを連結および縮小し、コンパイル済みフォルダーに配置します。それが、このように動作し始めるときです。
r.js
連結と縮小に使用します(使用してrequire.js
います)が、プロセス中にエラーは発生しません。ブラウザー ウィンドウを強制的に更新すると、すべての html ビューも正しくコピーされます。
angular は場所の変更に反応しないようですが、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
パスで:
パス内のリンクの 1 つをクリックすると、build
必要なビューに対して http GET 要求が送信されますが、これはパスでは発生しませんcompile
。
.../build/#/...
動作します。
.../compiled/#/...
動作しません。