2015-05-09 55 views
1

以下功能從控制器功能中檢索數據並將其保存到$scope.Details並重定向到付款視圖。

$scope.pay = function() { 

      $http.get('api/Details/123').success(function (data) { 
       $scope.Details = data; 
      }); 

      $location.url('/payment'); 
     } 

此外,我初始化paymentForm範圍以從上面檢索$scope.Details具有的值。

$scope.paymentForm = { 
      FirstName: $scope.Details.FirstName, 
      LastName: $scope.Details.LastName, 
     PaymentAmount: $scope.Details.PaymentAmount 
     }; 

控制器功能:

[HttpGet] 
    [Route("api/Details/{id}")] 
    public Details Details(int id) 
    { 
     return new Details() 
     { 
      FirstName = "Test", 
      LastName = "Tester" 
     }; 
    } 

付款查看:

在姓氏和名字段
<label for="fname">First Name</label> 
<input id="firstname" type="text" ng-model="paymentForm.FirstName"> 
<label for="lname">Last Name</label> 
<input id="lastname" type="text" ng-model="paymentForm.LastName"> 

支付形式不填充值。任何人都可以請指出我在這裏失蹤了什麼? 謝謝!

+2

我們在這裏丟失了很多,比如你在哪個角度控制器中分配'$ scope.paymentForm',以及'ng-controller'指令在你的HTML視圖中的位置。 – Claies

+0

此外,順便說一下,您的輸入元素不是(自己)關閉的,角度可能會有一些問題。 – SirDemon

回答

1

嘗試在$scope.pay函數聲明之上添加$scope.Details = {}。然後,這個代碼應該完成這項工作。

+0

謝謝。我會嘗試這些東西。 – Jyina

+0

我發現付款視圖正在將值保存到範圍變量paymentForm,當我鍵入表單上的控件。但是,當視圖首先顯示時,我無法在範圍視圖中填充默認值。不知何故,來自$ scope.Details的數據不會通過$ scope.paymentForm。我在Pay()函數中加載了$ scope.Details之後嘗試了$ scope。$ apply()並且它沒有工作。謝謝! – Jyina

+0

嘗試創建一個初始的'$ scope.paymentForm = { 姓氏'', 姓氏:'', PaymentAmount:''}'然後成功修改'$ scope.paymentForm.FirstName = data.FirstName'並且像對於其他道具。你也不應該需要這樣的$ scope.Details對象。 –

相關問題