Javascript $scope在爱奥尼亚应用程序中返回未定义
我想知道$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);} }); 姓名: 尝试按如下方式更改控制器功能
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>