首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从GoInstant集合中获取单个项?

如何从GoInstant集合中获取单个项?
EN

Stack Overflow用户
提问于 2014-06-24 04:11:54
回答 1查看 55关注 0票数 1

如何从GoInstant GoAngular集合中获取单个项?我试图为单个任务创建一个典型的显示或编辑屏幕,但无法显示任务的任何数据。

这是我的AngularJS控制器:

代码语言:javascript
复制
.controller('TaskCtrl', function($scope, $stateParams, $goKey) {

    $scope.tasks = $goKey('tasks').$sync();

    $scope.tasks.$on('ready', function() {
        $scope.task = $scope.tasks.$key($stateParams.taskId);
        //$scope.task = $scope.tasks.$key('id-146b1c09a84-000-0'); //I tried this too
    });
});

下面是相应的AngularJS模板:

代码语言:javascript
复制
<div class="card">
    <ul class="table-view">
        <li class="table-view-cell"><h4>{{ task.name }}</h4></li>
    </ul>
</div>

不使用{{ task.name }或引用任务的任何属性来呈现任何内容。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-24 14:01:16

您可以处理以下任务:(a)从集合中检索单个项;(b)响应用户的方向,以不同的方式更改应用程序状态。

请记住,GoAngular模型 (由$sync()返回)是一个对象,在待办事项集合的情况下,该对象可能如下所示:

代码语言:javascript
复制
{  
    "id-146ce1c6c9e-000-0": { "description": "Destroy the Death Start" },
    "id-146ce1c6c9e-000-0": { "description": "Defeat the Emperor" }
}

当然,它也会有许多方法,这些方法可以很容易地使用$omit方法剥离。

如果我们想从已经同步的集合中检索单个项,我们可以这样做(普鲁克尔):

代码语言:javascript
复制
$scope.todos.$sync();

$scope.todos.$on('ready', function() {
  var firstKey = (function (obj) {
    for (var firstKey in obj) return firstKey;
  })($scope.todos.$omit());

  $scope.firstTodo = $scope.todos[firstKey].description;
});

在本例中,我们同步集合,一旦它准备好检索集合中第一个项的键,并将对该项的引用分配给$scope.firstTodo

如果我们响应用户输入,则需要根据用户的交互将ID从视图传递回控制器。首先,我们将更新我们的观点:

代码语言:javascript
复制
  <li ng-repeat="(id, todo) in todos">
      <a href="#" ng-click="whichTask(id)">{{ todo.description }}</a>
  </li>

现在我们知道了用户希望我们修改的是什么,我们在控制器中描述了这种行为:

代码语言:javascript
复制
$scope.todos.$sync();

$scope.whichTask = function(todoId) {
  console.log('this one:', $scope.todos[todoId]);

  // Remove for fun
  $scope.todos.$key(todoId).$remove();
}

下面是一个有用的示例:普鲁克尔。希望这会有所帮助:)

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

https://stackoverflow.com/questions/24378185

复制
相关文章

相似问题

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