Angular.js 有这个问题,我似乎无法修复。
这是我的简单 html
:
<html ng-app="myAngularapp">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.7/angular.min.js"></script>
<script src="myangular.js"></script>
</head>
<body>
<div ng-controller="myAngularCtrl">
<form ng-submit="addingName()">
<input type="text" ng-model="myAngular.newname" size="30"
placeholder="add new todo here">
<input class="btn-primary" type="submit" value="add">
</form>
</div>
</body>
</html>
和myangular.js
:
angular.module("myAngularapp",[])
.controller("myAngularCtrl", function($scope){
$scope.myNames = [
{name:"aaa"},
{name:"aaa"},
{name:"aaa"}
];
$scope.addingName = function(){
$scope.myNames.push({name:newname});
}
});
当我按下提交按钮时,出现错误:
Error: Can't find variable: newname
问题出在哪里?
最佳答案
您从未声明过 newname
,而是 $scope
上的一个属性
<input type="text" ng-model="myAngular.newname" size="30">
可以通过 Controller 中的$scope.myAngular.newname
访问,而不是newname
。
$scope.myNames.push({name: $scope.myAngular.newname});
这是因为 Angular 在 $scope
中存储了可由 HTML 访问的变量。这是一个可以在 Controller 内部访问的对象,使其独一无二。
关于javascript - Angularjs - 找不到变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32940429/