1

私のルートの例:

angular.module('test', [], function ($routeProvider) {
$routeProvider.when('/', {
    templateUrl: 'pageOne.html',
    controller: ControllerOne
}).when('/?:foo, { templateUrl: '
pageTwo.html ', controller: ControllerTwo });`

しかし、http://example.com/? someFooのようなページをロードすると、ルートがControllerTwoをロードせず、ControllerOneをロードします。私は何を間違っていますか?ありがとう。

4

3 に答える 3

0

Angularではサポートされていないようです。https://groups.google.com/d/topic/angular/5l4bbnWp18M/discussionをチェックしてください

于 2012-10-26T07:11:09.880 に答える
0

コントローラー名を文字列として渡す必要があります

これは機能します

var myApp = angular.module('myApp',[],function($routeProvider) {        

    $routeProvider
        .when('/home',{templateUrl:'home.html'})
        .when('/page1',{templateUrl:'page1.html', controller:'ctrl1'})
        .when('/page2',{templateUrl:'page2.html', controller:'ctrl2'})
        .otherwise({redirectTo:'/home'});

});

function ctrl1($scope){
    $scope.something = 'Hello from page 1';
}
function ctrl2($scope){
    $scope.something = 'Hello from page 2';
}

jsfiddle: http://jsfiddle.net/jaimem/T2TWB/1/

于 2012-10-25T23:47:48.673 に答える
0

フォーマットが正しくないと思います。

angular.module('test', [], function ($routeProvider) {
$routeProvider.when('/', {
    templateUrl: 'pageOne.html',
    controller: 'ControllerOne'
}).when('/foo/:foo', { templateUrl: '
pageTwo.html ', controller: 'ControllerTwo' });

http://example.com/#/foo/someFooのようなページをロードします

持っていることをお勧めします

.otherwise({ redirectTo: '/nosuchpage.html'})

次に、リンクが間違っているかどうかがわかります。

于 2012-10-25T21:55:42.173 に答える