Javascript ng单击不执行任何操作(待办事项列表示例)

Javascript ng单击不执行任何操作(待办事项列表示例),javascript,angularjs,Javascript,Angularjs,我试着做一些角度测试。但未能在待办事项列表应用程序示例中添加项目: app.controller('MainControl', function($scope){ $scope.tasks = [ { "name":"task 1", }, {"name":"task 2", } ]; var addTask = function(){ $scope.tasks.push({ "name": $scop

我试着做一些角度测试。但未能在待办事项列表应用程序示例中添加项目:

app.controller('MainControl', function($scope){

$scope.tasks = [
    {
    "name":"task 1",
    },

    {"name":"task 2",
    }
];

    var addTask = function(){
        $scope.tasks.push({
            "name": $scope.input,
        });
        $scope.input = "";
    };
});
我想知道为什么它不工作,控制台中没有错误

我的html

  <body ng-controller="MainControl">
    <div>
      <label>I want to:</label>
      <input type="text" ng-model="input">
      <button ng-click="addTask()">Add</button>
    </div>

    <div>
      <ul ng-repeat="task in tasks">
      <li>{{task.name}}</li>
      </ul>
    </div>
  </body>

我想:
添加
  • {{task.name}

addTask
必须是
$scope
属性,即
$scope.addTask=function(){}
而不是
var addTask=function(){}

评论后编辑:

<form ng-submit="addTask()">
    <label>I want to:</label>
    <input type="text" ng-model="input">
    <button type="submit">Add</button>
</form>

我想:
添加

回答得不错!你知道怎么抓住回车键吗?我尝试了ng submit,但不起作用。我希望按钮可以单击并支持enter键。@user3398172您可以将标签/输入/按钮放入
表单
标记中,在该表单标记上使用
ng submit
,并将您的函数作为值,然后删除ng click并将
type=“submit”
添加到按钮中。我编辑了我的答案;)