在我的情况下,ng 模型返回未定义
ng-model returned undefined in my case
console.log($scope.username)
<input ng-model="username" class="user-name" placeholder="Username / Email Address">
不知道为什么我的ng模型不起作用,我被定义不了。但是当我用下面的ng-click进行测试时,它可以工作。
$scope.username = function(){
alert('hey')
}
<input ng-click="username()" class="user-name" placeholder="Username / Email Address">
太奇怪了,有什么想法吗?
如果你想给你的ng模型分配一个函数,你需要使用ng-model的getter setter选项
以下是来自angularjs网站的片段
视图
<input type="text" name="userName"
ng-model="user.name"
ng-model-options="{ getterSetter: true }" />
控制器
var _name = 'Brian';
$scope.user = {
name: function(newName) {
// Note that newName can be undefined for two reasons:
// 1. Because it is called as a getter and thus called with no arguments
// 2. Because the property should actually be set to undefined. This happens e.g. if the
// input is invalid
return arguments.length ? (_name = newName) : _name;
}
};
注意:对于绑定,您可以使用普通属性或 getter 二传手函数。您将无法使用其他类似事件的函数。 为此,您需要使用ng-click,ng-init等
进一步阅读
https://docs.angularjs.org/api/ng/directive/ngModel#binding-to-a-getter-setter
代码来实现您正在尝试执行的操作
<html ng-app="exampleApp">
<head>
<title>Example</title>
</head>
<body ng-controller="defaultCtrl">
<input ng-model="username" class="user-name" placeholder="Username / Email Address">
<button ng-click="showName()">Show Name</button>
<script src="bower_components/angular/angular.min.js"></script>
<script>
angular.module('exampleApp', [])
.controller('defaultCtrl', function($scope) {
$scope.username = "";
$scope.showName = function(){
alert($scope.username)
}
});
</script>
</body>
</html>
希望这有帮助!!
相关文章:
- Angular,函数在(模型)工厂中返回值
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Aurelia绑定-点击按钮返回查看模型
- 续集返回未定义的模型自定义方法
- “渲染骨干模型视图”返回未定义的结果
- Node.js应用程序中从模型层异步返回数据
- Ember.js返回相同的模型
- 保存模型返回错误
- Ember.js:路由返回多个模型,包括一个promise,给出错误
- 在控制器中将 ng 模型值返回为空的指令
- 在视图模型中使用 MVC 视图返回 JsonResult 数据
- 挖空映射对象未由杜兰达尔视图模型返回
- 在我的情况下,ng 模型返回未定义
- Knockout视图模型返回函数(如何?)
- 从AngularJS$scope ng模型返回对象
- 基于User的客户模型返回基于userId而不是customerId的FK属性
- 需要余烬模型返回数组承诺而不是对象
- 如何在 AngularJS 中将数据异步从模型返回到控制器
- Ember JS -无法循环从模型返回的数组,即使它是一个数组
- 从骨干模型返回承诺