AngularJS ng-click无效

时间:2015-09-23 02:28:39

标签: angularjs

我刚刚创建了一个非常简单的应用程序。 它只包含一个在ng-click中使用的函数。 不知何故,ng-click没有触发。 谁能看看我?
Plunker:
http://plnkr.co/edit/DxwX5sJVaKABeC2JBF8M?p=preview

HTML

var app = angular.module('myApp');

app.controller('createController', ['$scope', function($scope){
    $scope.submitProject = function(){
    alert('wahaha');
};

}]);

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <link rel="stylesheet" href="style.css">
    <script src="script.js"></script>
</head>
<body>
    <h1>Hello Plunker!</h1>
    <div class="form-group text-right">
        <button class="btn btn-primary btn-lg" ng-click="submitProject()">Submit</button>
    </div>
</body>
</html>

4 个答案:

答案 0 :(得分:1)

您需要通过添加ng-controller属性(如

)来绑定控制器
<body ng-controller="createController"> 

到一个包含你想要将createController范围绑定到的html的元素。

答案 1 :(得分:1)

添加ng-controller,因此ng-click将知道哪个控制器是该功能。

    <div class="form-group text-right" ng-controller="createController as create">
        <button class="btn btn-primary btn-lg" ng-click="create.submitProject()">Submit</button>
    </div>

我建议使用控制器,尝试在此article中阅读此内容。

答案 2 :(得分:1)

将控制器添加到外部Div将解决您的问题。

 <div ng-controller='createController' class="form-group text-right">

希望它有所帮助。

答案 3 :(得分:1)

看起来模块“myApp”未正确实例化。它应该是:

var app = angular.module('myApp', []);

这是因为您需要传入一个数组,该数组是myApp所依赖的模块列表。在这种情况下,它是一个空数组。

您还需要按照之前的答案建议将控制器添加到视图中。