首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >AngularJS:移到下一个视图并传递对象

AngularJS:移到下一个视图并传递对象
EN

Stack Overflow用户
提问于 2015-09-10 06:57:58
回答 3查看 508关注 0票数 1

我对Parse.com进行查询,以接收许多对象,然后在视图中显示所有对象。

我现在想要能够点击其中一个对象,它应该加载一个新的页面,在那里我可以编辑它们。

我的问题是,如何将其中一个对象从主视图传递到可以编辑它的详细视图?

当我尝试时,

  1. 通过路由,传递整个对象,但这似乎是错误的做法,整个对象在状态栏中打印出来: //路由.when('/job/:object',{
  2. 仅通过传递objectId,并在加载详细视图后查询数据库以获得对象的id。 .when('/job/:objectId‘),{ // Get对象的ID来自Parse.com。
  3. 将整个对象数组保存在$rootScope中,以便从新的详细控制器中访问它们。

提前感谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-09-10 07:24:45

正如SSH所说,您需要创建一个能够容纳对象的角度服务,然后当您从一个视图移动到另一个视图时,只需注入服务并访问该对象。

你应该这么做。

代码语言:javascript
运行
复制
.service('holdobj',function(){

    var myobj;

    this.set= function(obj){
     myobj = obj;
    };

    this.get= function(){
     return myobj;
    };

});

现在在你的控制器里

代码语言:javascript
运行
复制
.controller(function(holdobj){

    $scope.setObject = function(obj){
      holdobj.set(obj);
    }

});

然后,当您想获得对象时,只需调用holdobj.get();

票数 3
EN

Stack Overflow用户

发布于 2015-09-10 07:04:36

您应该将传入对象保存在服务中,然后跨不同的控制器使用该服务。

票数 1
EN

Stack Overflow用户

发布于 2015-09-10 07:05:00

只要您在视图之间使用共享控制器,我认为您可能可以在更改视图之前设置一个模型。

我不知道在检查路由器时是否有办法在控制器之间传递模型,而不使用老式的方式,并将id传递给对象,在对象中,第二个控制器将基于此查找它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32495177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档