Javascript AngularJS(材质)-使用md对话框添加新对象后刷新md列表中的数据

Javascript AngularJS(材质)-使用md对话框添加新对象后刷新md列表中的数据,javascript,angularjs,angularjs-ng-repeat,angularjs-material,angular-nglist,Javascript,Angularjs,Angularjs Ng Repeat,Angularjs Material,Angular Nglist,我对这个棱角分明的世界还很陌生,但昨天我遇到了一个似乎无法解决的问题。 作为一个原型,我正在创建一个简单的任务应用程序,它允许用户创建、查看和删除任务。 单击打开对话框的按钮可以创建新任务。可以在中提供一些信息,并通过单击“添加任务”将任务添加到数据库中 唯一的问题是,对话框关闭后,显示项目列表的md列表不会刷新以显示新添加的任务。我确实尝试过在ng repeat中使用“tack by”选项,但没有成功 我从这个问题中得到了信息:http://stackoverflow.com/question

我对这个棱角分明的世界还很陌生,但昨天我遇到了一个似乎无法解决的问题。 作为一个原型,我正在创建一个简单的任务应用程序,它允许用户创建、查看和删除任务。 单击打开对话框的按钮可以创建新任务。可以在中提供一些信息,并通过单击“添加任务”将任务添加到数据库中

唯一的问题是,对话框关闭后,显示项目列表的md列表不会刷新以显示新添加的任务。我确实尝试过在ng repeat中使用“tack by”选项,但没有成功

我从这个问题中得到了信息:http://stackoverflow.com/questions/27874976/update-a-md-list-dynamically-from-angular

我用来显示任务的代码如下(简化)

所以我想知道是否有人能帮我解决这个问题。

提前谢谢

您将任务推到错误范围内的任务列表中

下面的内容应该为您完成这项工作。 当显示对话框时

$mdDialog.show({
  controller: TaskController,
  templateUrl: 'taskdialog.tmpl.html',
  parent: angular.element(document.body),
  targetEvent: ev,
}).then(function(task){
  $scope.tasks.push(task);
});
$mdDialog.hide(task);
隐藏对话框时

$mdDialog.show({
  controller: TaskController,
  templateUrl: 'taskdialog.tmpl.html',
  parent: angular.element(document.body),
  targetEvent: ev,
}).then(function(task){
  $scope.tasks.push(task);
});
$mdDialog.hide(task);

谢谢,我用你的解决方案解决了这个问题。只是附带说明:在实现解决方案时,我看到hide函数不允许使用多个参数。如果我插入两个,它将丢失第二个参数。这是正确的吗?是的,为了传递多个任务,您可以执行如下操作:
$mdDialog.hide([task1,task2,task3])
$mdDialog.hide(task);