在Angularjs应用程序的类中封装模型

时间:2016-09-10 07:40:59

标签: javascript angularjs angularjs-scope javascript-objects angularjs-http

我有2个观点。一种是将学生列入表格,另一种是当您点击学生时,它会显示学生的详细信息。我把学生带到了一个单独的文件cy.add([ { data: {label:"aaa" ,id:"bbb" } }, { data: {label:"aaa333" ,id:"rrrr"} }, ]); 中的自己的班级。问题是,学生的详细信息不会在视图中填充。

我将与学生班级一起展示学生详细信息的控制器和视图。

学生原型作为student.js中的工厂:

student.js

现在我在// idea: You can initialize a student like new Student(student) //where student is a json else new Student() will return a student with //attributes set to null. app.factory('Student', ['$http', function($http) { function Student(student) { if (student) { this.setStudent(student); } else { this.setStudent({ id: null, name: null, level: null, schoolName: null, phoneNumber: null, email: null }); } }; Student.prototype = { setStudent: function(student) { angular.extend(this, student); }, loadStudent: function(studentId) { var scope = this; $http.get('myUrl/' + studentId).then(function(response){ scope.setStudent(response.data); }); } }; return Student; }]);

中使用上面的学生原型
studentDetailsCtrl

此处app.controller('studentDetailsCtrl', ['$scope', '$stateParams', 'Student', function($scope, $stateParams, Student) { $scope.student = new Student(); $scope.student.loadStudent($stateParams.studentId); }]); 从网址获取当前学生的ID并设置学生属性。

学生详情视图:

loadStudent()

我做错了什么?感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

<form name="student">

创建范围形式变量“student”并重写您的学生模型。