我刚刚创建了一个非常简单的应用程序。
它只包含一个在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>
答案 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所依赖的模块列表。在这种情况下,它是一个空数组。
您还需要按照之前的答案建议将控制器添加到视图中。