Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在MVC视图中访问angular$scope变量的值?_Javascript_Angularjs_Model View Controller - Fatal编程技术网

Javascript 如何在MVC视图中访问angular$scope变量的值?

Javascript 如何在MVC视图中访问angular$scope变量的值?,javascript,angularjs,model-view-controller,Javascript,Angularjs,Model View Controller,下面的函数从控制器函数中检索数据并将其保存到$scope.Details并重定向到付款视图 $scope.pay = function () { $http.get('api/Details/123').success(function (data) { $scope.Details = data; }); $location.url('/payment'); } 另外,我正在初始化paym

下面的函数从控制器函数中检索数据并将其保存到
$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">
名字
姓
付款表单不填充“名字”和“姓氏”字段中的值。有人能指出我在这里遗漏了什么吗?
谢谢大家!

尝试在
$scope.pay
函数声明上方添加
$scope.Details={}
。然后,这段代码应该可以完成这项工作。

我们这里缺少了很多,比如您在中分配了哪个angular控制器
$scope.paymentForm
,以及
ng controller
指令在HTML视图中的位置。另外,您的输入元素没有(自)关闭,angular可能有一些问题。谢谢。我将尝试这些方法。当我在表单上的控件中键入时,我发现payment视图正在将值保存到范围变量paymentForm。但是,当视图第一次显示时,我无法从范围填充视图上的默认值。不知何故,$scope.Details中的数据不会传递到$scope.paymentForm。在Pay()函数中加载$scope.Details后,我尝试了$scope.$apply(),但没有成功。谢谢!尝试创建一个初始的
$scope.paymentForm={FirstName:'',LastName:'',PaymentAmount:'}
成功后,更改
$scope.paymentForm.FirstName=data.FirstName
等其他道具。您也不应该以这种方式需要$scope.Details对象。