如何获得name2
的值?
function DemoController($scope) {
$scope.name1 = 'LISA';
//How can I get the value of name2?
console.log($scope.name2) //this does not work
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="" ng-controller="DemoController">
{{ name1 }}
<input type="text" placeholder="Lisa" ng-model="name2">
</div>
最佳答案
发生这种情况是因为您没有在控制器内部初始化name2
。因此在name2
的作用域中没有名为console.log
的属性。和name2
属性将在您第一次更改输入后立即在作用域上创建。因此,这就是为什么它得到undefined
的原因。
这是Demo Plunker,请检查控制台。
$scope.$watch('name2', function(newVal, oldVal) {
console.log("new value : " + newVal);
console.log("old value : " + oldVal);
});
我在
$watch
属性上添加了一个name2
(并且该$watch
函数将在更改name2
的值时执行),请注意,其undefined
首先出现,并且在您键入后将立即使用输入值文本框中的内容。关于javascript - 如何从输入框中获取angularJS中的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29407327/