【Angular.js】ビュー変更(ルーティング切り替え)時のベストプラクティス。

HTML5モードと非HTML5モードの自動切り替えをAngular側にやってもらうためにも、aタグにリンクを埋め込むのではなく、$locationサービスを用いてルーティング変更を行うべき。

下記例。

コントローラー側に下記のようなメソッドを定義。

$scope.changeView = function(view){
    $location.path(view);
}

ビュー側から下記のようにして移動先のロケーションパスを渡せばOK。

<button ng-click="changeView('/about')">ほげ</button>

といった感じ。