md-tabsを使用した組み込みのルーターからui-routerに移行しようとしています。動作するように構成する。ui-routerとmd-tabsを使用してpreventDefault()を呼び出すと、間違ったタブが選択される
ユーザーがダーティページからタブを離そうとすると、移動のキャンセルを許可するダイアログが表示されます。私はTAB2を選択し、ダイアログの状態変化を解除した場合、必要に応じて、tab1のテキストは、表示されたまま
$rootScope.$on('$stateChangeStart',
function (event, toState, toParams, fromState, fromParams) {
console.log(' fromState: '+fromState.name +'; toState: '+toState.name);
if (confirm("Would you like to change state?")){
console.log('going to: '+toState.name);
} else {
console.log('staying at state: '+fromState.name);
event.preventDefault();
}
});
:だから私は、アプリのrun()メソッドにこのコードを追加しました。ただし、tab2はアクティブに選択されたタブになります。
$state.go(fromState.name)
をpreventDefault()
の後に呼び出すことに関するいくつかの提案がありましたが、それでも問題は解決しません。
This pageは深いタブで同様の動作を説明し、回避策を提案していますが、コード例にどのように適用するのか分かりませんでした(深いタブでも同じ問題が発生します)。 TAB2のコンテンツを表示するが、再びアクティブなタブをtab1のあるTAB2状態タブ/。
が、私は同じ問題を持っていたこの?
はほとんどそれを釘付け。タブの端をクリックすると、依頼することなくスイッチを切り替えることができます。 – Mike
スパンがタブ内のすべてのスペースを取るよりも確実にスタイルを変更する必要があります。 .md-tab-item { 埋め込み:0; } md-tab-item span { 埋め込み:0 24px; 行の高さ:48ピクセル。 display:ブロック; } – mchasles
また、 'md-tab-item'から' md-tab-item span'に 'padding:12px 24px;'を移動することもできます。 –