javascript - Angularjs - 找不到变量

标签 javascript html angularjs

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/

相关文章:

javascript - Web开发

php - 用户可以在他们的个人资料描述中使用 html、css、javascript、php 等

javascript - 使用 Jquery 下拉设置初始化值

javascript - 将值存储在指令中以备后用

javascript - angular js嵌套 Controller 列表/项目

javascript - 当我点击谷歌地图中的箭头图标时谷歌地图 [$parse :syntax] error?

javascript - css - 将所有内容放入一个 div,中心背景图像

javascript - 如何停止/暂停从另一个 onclick 事件执行 jquery 更改事件?

javascript - 当<router-view/>改变时,为什么router的旧组件仍然是 '$on'并处理事件?

html - 在 HTML 中,如何在 li 之前抑制 ul 之后的换行