Javascript 将id从一个视图发送到另一个视图(AngularJS、NodeJs、HTML)

Javascript 将id从一个视图发送到另一个视图(AngularJS、NodeJs、HTML),javascript,html,angularjs,Javascript,Html,Angularjs,我有一个用于列出MongoDB用户的HTML页面,该页面用于删除和更新用户,当我单击按钮时,我想要的更新按钮出现问题,一个新的HTML页面将显示一个表单,并从另一个控制器的上一个视图中获取新控制器的用户id。。 我在ng click(item.\u id)中传递了id,我可以在控制台中显示它,但在新页面中,新控制器无法读取id(id未定义) 在新控制器中: $http.get('/readbyid/' + id).success(function (messages) { $sc

我有一个用于列出MongoDB用户的HTML页面,该页面用于删除和更新用户,当我单击按钮时,我想要的更新按钮出现问题,一个新的HTML页面将显示一个表单,并从另一个控制器的上一个视图中获取新控制器的用户id。。 我在ng click(item.\u id)中传递了id,我可以在控制台中显示它,但在新页面中,新控制器无法读取id(id未定义)

在新控制器中:

$http.get('/readbyid/' + id).success(function (messages) {
        $scope.Candidator = messages;
        console.log(id);
    });

根据您的设置,有一些方法可以实现此结果

  • 如果您使用的是Angular UI router,您有一个
    $stateParams
    服务,它在路由更改期间存储数据,并将数据从一个视图带到另一个视图
  • 如果您使用的是“存储服务”,则可以创建一个与发生转换的模块相关的存储服务。这样的话,你每次都要注意清洁你不需要的东西。在我看来,这是一种颈部疼痛。角度用户界面是一个更好的选择
  • 如果数据可以存在于历史记录中,则可以使用查询字符串参数

  • 根据您的设置,有一些方法可以实现此结果

  • 如果您使用的是Angular UI router,您有一个
    $stateParams
    服务,它在路由更改期间存储数据,并将数据从一个视图带到另一个视图
  • 如果您使用的是“存储服务”,则可以创建一个与发生转换的模块相关的存储服务。这样的话,你每次都要注意清洁你不需要的东西。在我看来,这是一种颈部疼痛。角度用户界面是一个更好的选择
  • 如果数据可以存在于历史记录中,则可以使用查询字符串参数

  • 定义当前视图和其他视图的布线:

    .state({
      name:'currentView',
      url:'/currentView',
      templateUrl:'views/currentView.html',
      controller:'currentViewCtrl'
    })
    .state({
      name:'updateView/:customerID',
      url:'/updateView/:customerID',
      templateUrl:'views/updateView.html',
      controller:'updateViewCtrl'
    })
    
    单击按钮调用函数,将customerID发送到下一个视图

    $location.path('updateView/'+customerID)

    在下一次查看时,使用

    $stateParams['customerID']


    好吧,这只是给你一个想法,我想你现在可以连接点了。如果我不够清楚,请告诉我。

    为当前视图和其他视图定义路由:

    .state({
      name:'currentView',
      url:'/currentView',
      templateUrl:'views/currentView.html',
      controller:'currentViewCtrl'
    })
    .state({
      name:'updateView/:customerID',
      url:'/updateView/:customerID',
      templateUrl:'views/updateView.html',
      controller:'updateViewCtrl'
    })
    
    单击按钮调用函数,将customerID发送到下一个视图

    $location.path('updateView/'+customerID)

    在下一次查看时,使用

    $stateParams['customerID']


    好吧,这只是给你一个想法,我想你现在可以连接点了。如果我不够清楚,请告诉我。

    如果您使用的是route,则必须在routeparams中传递id,或将选定的用户id保留在服务中,并在下一页中获取。您可以使用express或Angular(SPA案例)在URL中发送该id如果您使用的是route,则您必须在routeparams中传递id,或将选定的用户id保留在服务中,并在下一页中获取。您可以使用express或Angular(SPA案例)在URL中发送该id。如果您使用的是routeparams,则使用URL参数是更好的方法Ok,使用url参数是更好的选择way@MarouenAyadi如果答案解决了你的问题,你能接受吗?(点击答案左边的标记)@MarouenAyadi如果答案解决了你的问题,你能接受吗?(单击答案左侧的标记)