boi*_*hos 10 javascript function angularjs angularjs-scope
我在本机javascript中有这个代码,它可以正常工作.它记录文本框的当前值
<script>
var boom = function(val) {
console.log(val);
};
</script>
<input type="text" onclick="boom(this.value)"/>
Run Code Online (Sandbox Code Playgroud)
然后我想在不使用模型的情况下在AngularJS上做同样的事情.这是代码:
$scope.boom = function(val) {
console.log(val);
};
<input type="text" ng-click="boom(this.value)"/>
Run Code Online (Sandbox Code Playgroud)
但它始终记录未定义!
为什么?
dfs*_*fsq 10
Angular方式是使用ngModel:
<input type="text" ng-model="input" ng-click="boom()"/>
Run Code Online (Sandbox Code Playgroud)
在控制器中:
var boom = function() {
console.log($scope.input);
};
Run Code Online (Sandbox Code Playgroud)
this.input也将工作,因为this指向当前范围对象.
如果您仍想避免使用模型,则可以使用事件对象:
<input type="text" ng-click="boom($event)"/>
Run Code Online (Sandbox Code Playgroud)
和
var boom = function($event) {
console.log($event.target.value);
};
Run Code Online (Sandbox Code Playgroud)