0

我如何告诉 Angular 将 scope.shits 中的数据注入 ShitDetail 控制器?

function ShitCtrl($scope) {
  $scope.shits = [
    {
    "id": "goMedus",
    "name": "goMedus",
     "snippet": "Fast just got faster with Nexus S.",
     "copy": "hallo"
    },

这是教程中通过 json 完成的数据注入。我想获得奥斯卡麦克,因为我在使用 grails urlMappings 连接到外部 json 时遇到了麻烦,所以我想稍后再做。任何帮助表示赞赏

function ShitDetailCtrl($scope, $routeParams) {
  $scope.shitId = $routeParams.shitId;

}

我的看法是这样的:

TBD: detail view for {{shitId}} and {{shitName}}

shitId 得到渲染,而 shitName 没有。

4

1 回答 1

2

您不能将数据从范围控制器注入到另一个控制器。

但是您有三种解决方案可以在控制器之间共享数据:

  1. 将您的变量定义到根范围。由于每个范围都继承自根范围,因此您的数据将可供所有控制器使用。

  2. 使用事件向其他控制器发送数据(使用 $broadcast 和 $on 函数发送/捕获事件)。

  3. 使用将用于在控制器之间共享数据的专用服务。

于 2013-02-19T11:18:38.840 回答