Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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 $scope在爱奥尼亚应用程序中返回未定义_Javascript_Angularjs_Cordova_Ionic Framework - Fatal编程技术网

Javascript $scope在爱奥尼亚应用程序中返回未定义

Javascript $scope在爱奥尼亚应用程序中返回未定义,javascript,angularjs,cordova,ionic-framework,Javascript,Angularjs,Cordova,Ionic Framework,我想知道$scope的双重行为。在下面的脚本中,我得到name值作为警报。但在我的ionic应用程序中,相同的代码会提醒未定义 我在谷歌上搜索了这个问题,找到了一个解决方案,其中指出我们需要使用点(.)来获取ng model中的值。两者的区别是什么 var-app=angular.module('myApp',[]); 应用程序控制器('myCtrl',函数($scope){ $scope.a=函数a(){alert($scope.name);} }); 姓名: 尝试按如下方式更改控制器功能

我想知道$scope的双重行为。在下面的脚本中,我得到
name
值作为警报。但在我的ionic应用程序中,相同的代码会提醒
未定义

我在谷歌上搜索了这个问题,找到了一个解决方案,其中指出我们需要使用点(.)来获取
ng model
中的值。两者的区别是什么

var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.a=函数a(){alert($scope.name);}
});

姓名:

尝试按如下方式更改控制器功能:

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.a =function(){
        alert($scope.name);
    }
});

事实上,它确实与离子有关

angular.module('starter.controllers', [])
.controller('myCtrl', function($scope) {
  $scope.a = function a() {
    alert($scope.name);
  }

})

解决方案: “如果使用ng模型,则必须在其中添加一个点。”
让你的模型指向一个object.property,你就可以开始了

控制器

$scope.formData = {};
$scope.check = function () {
  console.log($scope.formData.searchText.$modelValue); //works
}
模板

<input ng-model="formData.searchText"/>
<button ng-click="check()">Check!</button>

我希望这些将对您有所帮助。

尝试使用json对象

  var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
        $scope.user = {'name':''};
        $scope.a =function a(){alert($scope.user.name);}
    });

 <div ng-app="myApp" ng-controller="myCtrl">
Name: <input ng-model="user.name" ng-blur="a()">
</div>
var-app=angular.module('myApp',[]);
应用程序控制器('myCtrl',函数($scope){
$scope.user={'name':''};
$scope.a=函数a(){alert($scope.user.name);}
});
姓名:

但是在上面的代码片段中,您可以看到我没有在ng模型中使用'dot',但它仍然给出了正确的输出。我认为这可能是由于
$parent
$child
操作造成的问题。如果我的所有解决方案对你不起作用,请告诉我我在我的模块中使用的是
starter.controllers
,我不明白你在回答中说的是什么,你让我使用“starter.controllers”而不是“myApp”,这正是我的本意doing@sam其实那不要紧,,我已经更改了,但它仍然有效@RameshRajendran除非控制器重新实例化,否则不应该有任何错误。不,现在它是$scope.a=function a(){alert($scope.name);}('function a')尝试使用$scope.a=function(val){alert(val);}和
  var app = angular.module('myApp', []);
    app.controller('myCtrl', function($scope) {
        $scope.user = {'name':''};
        $scope.a =function a(){alert($scope.user.name);}
    });

 <div ng-app="myApp" ng-controller="myCtrl">
Name: <input ng-model="user.name" ng-blur="a()">
</div>