2015-01-16 5 views
0

Так что я бы подумал, что это будет легко, но я, очевидно, что-то делаю неправильно, независимо от того, что я делаю, я не могу получить переменную «personId» в контролере, когда меняю состояние , Я вижу это в URL-адресе, поэтому вы думаете, что все будет в порядке, но оно всегда неопределено. Надеюсь, кто-то может увидеть ошибку - вот конфиг для государстваuiRouter не устанавливает значения при изменении состояния

$stateProvider.state('quickScreen', { 
    params: { 
     hideAjaxContainer: "true", 
     personId: {} 
    }, 
    //url: "/Components/QuickScreen/{personId}", 
    url: "/Components/QuickScreen/:personId", 
    views: { 
     angularContentContainer: { 
      templateUrl: "/Components/QuickScreen/index.html", 
      controller: "quickScreenController", 
      resolve: { 
       name: function ($stateParams) { 
        return $stateParams.personId; 
       } 
      } 
     } 
    } 
}); 

и это контроллер

var quickScreenController = function ($scope, $stateParams) { 
console.log("quickScreenController loaded: " + $stateParams.personId); 

};

Возможно, потому что мой URL-адрес выглядит так: «http://localhost:1790/Search2#/Components/QuickScreen/5a114c4f-44c2-477a-97e5-a19500995016» не работает, но я не знаю. Спасибо ...

ответ

0

Я не вижу в вашем синтаксисе плохого. Более того, я создал working plunker here и это работает

$stateProvider.state('quickScreen', { 
    params: { 
     hideAjaxContainer: "true", 
     personId: {} 
    }, 
    //url: "/Components/QuickScreen/{personId}", 
    url: "/Components/QuickScreen/:personId", 
    views: { 
     angularContentContainer: { 
     templateUrl: 'tpl.html', 
     //templateUrl: "/Components/QuickScreen/index.html", 
     controller: "quickScreenController", 
     resolve: { 
      name: function($stateParams) { 
      return $stateParams.personId; 
      } 
     } 
     } 
    } 
    }); 

Проверьте это here. Если это все равно не поможет, обновите этот плункер, чтобы воспроизвести проблему ... готовы помочь ...

Смежные вопросы