Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.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
Angularjs 读取$scope变量时未定义_Angularjs_Scope_Ng Controller - Fatal编程技术网

Angularjs 读取$scope变量时未定义

Angularjs 读取$scope变量时未定义,angularjs,scope,ng-controller,Angularjs,Scope,Ng Controller,我试图以角度(1.6.8)函数的形式读取变量accessCode,但我只得到undefined HTML文件 <form ng-submit="redeem()" ng-controller="SubscriptionCtrl as subscription"> <input class="text-uppercase" type="number" ng-maxlength="6" placeholder="Indtast kode" ng-model="accessCo

我试图以角度(1.6.8)函数的形式读取变量
accessCode
,但我只得到
undefined

HTML文件

<form ng-submit="redeem()" ng-controller="SubscriptionCtrl as subscription">
   <input class="text-uppercase" type="number" ng-maxlength="6" placeholder="Indtast kode" ng-model="accessCode" />
   <input type="submit" class="btn btn-dark-green" value="Indløs" />
</form>
知道为什么我不能阅读$scope.accessCode吗

我想您忘了将控制器
添加为
ng model
部分,
因为您使用了:

因此,在ng模型中,您必须使用:

同时将
ng submit=“receive()”
更改为
ng submit=“subscription.reduce()”

因此,HTML部分如下所示:

试试这个

html中可能缺少
模块
名称

app.js中的

    var app = angular.module('myApp', []);
    app.controller('SubscriptionCtrl', function($scope) {
       console.log($scope.accessCode);
              .....
    });
而不是将
用作

直接将$scope注入控制器。

在HTML中:

<body ng-app="myApp">
    <form ng-submit="redeem(collection.Id)" ng-controller="SubscriptionCtrl">
       <input class="text-uppercase" type="number" ng-maxlength="6" placeholder="Indtast kode" ng-model="accessCode" />
       <input type="submit" class="btn btn-dark-green" value="Indløs" />
    </form>
</body>

跟随


希望对你有帮助

您不必将代码还原为使用
$scope
,因为使用控制器作为语法更好()。您不仅需要将
ng模型
绑定到控制器实例
订阅
,还需要将
ng提交

var-app=angular.module('myApp',[])
应用程序控制器('SubscriptionCtrl',
函数(){
var订阅=此;
subscription.reduce=函数(){
console.log(subscription.accessCode)
}
})


您做了如下操作:angular.module('myApp.controllers',[])。控制器('SubscriptionCtrl',['$scope',function($scope){/…});???你能做一个JSFIDLE或codepen吗?ng model=“subscription.accessCode”;我如何在我的函数中访问它?$scope.accessCode?访问代码没问题。$scope.redeme=function(collectionId){console.log($scope.accessCode);…};必须定义像angular.module('myApp.controllers',[]).controller('SubscriptionCtrl',['$scope',function($scope){/…})这样的控制器;?我已经定义了控制器,但为了简单起见没有定义它。抱歉:-)
ng-model="subscription.accessCode"
    <form ng-submit="subscription.redeem()" ng-controller="SubscriptionCtrl as subscription">
       <input class="text-uppercase" type="number" ng-maxlength="6" placeholder="Indtast kode" ng-model="subscription.accessCode" />
       <input type="submit" class="btn btn-dark-green" value="Indløs" />
    </form>
//creating a module
var app = angular.module("app",[]);

//registering the above controller to the module
app.controller("SubscriptionCtrl",['$scope',function ($scope){
  $scope.accessCode = "";
    $scope.redeem = function () {
    console.log($scope.accessCode);
  };
}]);
    var app = angular.module('myApp', []);
    app.controller('SubscriptionCtrl', function($scope) {
       console.log($scope.accessCode);
              .....
    });
<body ng-app="myApp">
    <form ng-submit="redeem(collection.Id)" ng-controller="SubscriptionCtrl">
       <input class="text-uppercase" type="number" ng-maxlength="6" placeholder="Indtast kode" ng-model="accessCode" />
       <input type="submit" class="btn btn-dark-green" value="Indløs" />
    </form>
</body>