11
AngularJSでコントローラーをリロードせずにパスを変更できますか?
それは以前に尋ねられました、そして答えからそれはよく見えません。このサンプルコードを考慮して尋ねたい... 私のアプリはそれを提供するサービスに現在のアイテムをロードします。アイテムを再ロードせずにアイテムデータを操作するいくつかのコントローラーがあります。 私のコントローラーは、アイテムがまだ設定されていない場合はアイテムを再読み込みします。それ以外の場合は、コントローラー間でサービスから現在読み込まれているアイテムを使用します。 問題:Item.htmlをリロードせずに、コントローラーごとに異なるパスを使用したいと思います。 1)それは可能ですか? 2)それが不可能な場合、ここで思いついた方法よりもコントローラごとにパスを設定するより良い方法はありますか? app.js var app = angular.module('myModule', []). config(['$routeProvider', function($routeProvider) { $routeProvider. when('/items', {templateUrl: 'partials/items.html', controller: ItemsCtrl}). when('/items/:itemId/foo', {templateUrl: 'partials/item.html', controller: ItemFooCtrl}). when('/items/:itemId/bar', {templateUrl: 'partials/item.html', controller: ItemBarCtrl}). otherwise({redirectTo: '/items'}); }]); Item.html <!-- Menu --> <a id="fooTab" my-active-directive="view.name" href="#/item/{{item.id}}/foo">Foo</a> <a id="barTab" my-active-directive="view.name" href="#/item/{{item.id}}/bar">Bar</a> <!-- Content --> <div …
191
angularjs