ng-click无效
<div ng-app="myFirstApp" ng-controller="studentController as studentController">
<form>
<input type="text" name="name" ng-model="studentController.student.name"/>
<input type="text" name="class" ng-model="studentController.student.class"/>
<input type="button" value="Submit" ng-click="studentController.student.submit()"/>
</form>
</div>
以下是我"Student"
工厂的代码。
app.factory('Student',[ function() {
// Contructor
function Student(data){
if(data){
this.setData(data);
}
};
// Functions
Student.prototype = {
setData: function(data){
angular.extend(this,data);
},
new: function(){
var studentData ={
name:"",
class:""
}
this.setData(studentData);
},
submit: function(){
console.log(this);
}
};
return Student;
}]);
这里是"studentController"
代码
app.controller('studentController',studentController);
function studentController(Student){
var student = new Student();
student.new();
console.log(student);
};
我不知道我在哪里做错了,我在控制台中没有出错。
我尝试在studentFactory
中运行其他方法,但没有一个方法正在运行。
为什么ng-click无效studentController.student.submit()
,因为我在studentController as studentController
代码中使用<div>
。
答案 0 :(得分:0)
我认为您应该使用以下HTML
<form ng-submit="studentController.student.submit()">
<input type="text" name="name" ng-model="studentController.student.name"/>
<input type="text" name="class" ng-model="studentController.student.class"/>
<input type="submit" value="Submit"/>
</form>
感谢
答案 1 :(得分:0)
<form name="reviewForm" novalidate="novalidate" valid-submit="submitClick()">
<input type="text" name="name" ng-model="studentController.student.name"/>
<input type="text" name="class" ng-model="studentController.student.class"/>
<input type="submit" value="Submit"/>
</form>
在控制器中创建一个函数submitClick()。
答案 2 :(得分:0)
你试图直接调用工厂的方法......而不是从你注册的控制器中调用..这将无法工作并且违反了角度js概念..所以定义函数进入控制器然后尝试调用它如果可以的话,请提供一名傻瓜或jsfiddle ..这对我们来说是有意义的
答案 3 :(得分:0)
试试这个
app.controller('studentController',[studentController]);
function studentController(Student){
var student = new Student();
student.new();
console.log(student);
};