Javascript 使用ng模型的最佳方法

Javascript 使用ng模型的最佳方法,javascript,angularjs,angular-ngmodel,Javascript,Angularjs,Angular Ngmodel,假设我有一个带有登录名的应用程序,用户登录后有一个主页。当我第一次登录时,它会重定向到主页。当我注销时,它会将我重定向到使用我以前键入的用户名和密码进行的登录 我很清楚ng模型绑定就是这样工作的。但是想象一下,有大量的输入页面。一旦用户注销,对angular services内的所有模型进行重置是否是一种良好的做法 让我键入另一个示例:我有一个页面来创建一个学生。一旦学生被创建,输入仍然具有来自模型的值。创建学生后重置学生服务是否是一种良好的做法?有人能提出更好的办法吗?我个人不喜欢这种方法,因

假设我有一个带有登录名的应用程序,用户登录后有一个主页。当我第一次登录时,它会重定向到主页。当我注销时,它会将我重定向到使用我以前键入的用户名和密码进行的登录

我很清楚ng模型绑定就是这样工作的。但是想象一下,有大量的输入页面。一旦用户注销,对angular services内的所有模型进行重置是否是一种良好的做法

让我键入另一个示例:我有一个页面来创建一个学生。一旦学生被创建,输入仍然具有来自模型的值。创建学生后重置学生服务是否是一种良好的做法?有人能提出更好的办法吗?我个人不喜欢这种方法,因为我必须编写更多的代码

app.factory('createStudentService', function(createStudentService)
{
    var service = {};

    service.studenName = null;
    service.studenID = null;

    return service;
}

app.controller('createStudenCtrl', ['createStudentService', function(createStudentService)
{
      $scope.createStudenService = createStudentService;
}]);
从这个角度来看

<input ng-model="createStudenService.studentName">


这不是整个视图,但您得到了一个想法

您可以在服务内创建一个属性,例如
student
,以保存整个对象。然后绑定
ng model=“createstudentservice.student.studentName
。如果您想在最后重置学生,只需设置
createstudentservice.student={}
。完全正确!这意味着accountService(注销的帐户服务)必须有一个createStudentService依赖项,对吗?想象一下,让我们假设20个页面类似于CreateStudent。accountService是否必须对每个页面都有20个服务依赖项才能执行类似于serviceN.property=null的操作?是的,很可能,这取决于应用程序的结构以及所有数据的使用位置d、 老实说,如果您真的需要在注销时擦除所有内容,那么只需重新加载整个页面并不一定是一个糟糕的选择如果您将所有内容都放入一个值中(这只是一个对象),并且每个服务(对象)都有一个属性,该怎么办哪一个包含您正在存储并要重置的属性?这样,您只需向该值注入一个引用,就可以根据需要清除特定于服务的属性。