2016-08-30 17 views
1

我想要的ID,我從

$state.go('state1', {obj: {id: request.id, title: request.title}} 

得到添加到URL中

angular.module('app') 
    .config(function ($stateProvider) { 
    $stateProvider 
     .state('state1', { 
     url : '/edit', 
     params: {obj: null}, 
     ... 
     }); 
    }); 

我訪問使用

在我的控制器的ID
vm.id = $stateParams.obj.id; 

,並試圖通過嘗試

將它添加到URL 0
url : '/edit/:id' 
url : '/edit/:obj.id' 

我試過尋找一段時間,但它要麼是傳遞參數(不是對象),要麼是傳遞一個對象,而是使用靜態url。我是Angular的新手,有人能指出我錯過了什麼嗎?謝謝。

回答

1

在URL中的參數需要匹配你傳遞什麼試試這個:

$state.go('state1', {id: request.id, obj: {id: request.id, title: request.title}} 
+0

我不知道這是可能的:

$stateProvider .state('state1', { url : '/edit/:id', params: {obj: null}, ... }); 

然後使用調用。非常感謝你!奇蹟般有效!!! –

+0

@ChesterLim你會想添加一個解析函數的狀態來創建對象,如果它不存在。否則,你有一個「網址」,它不再是一個URL,如果你不是針對空值的話,你可能會陷入一些混淆。 – dwbartz