我陷入了一种情况,我必须将数据从一个控制器传递到另一个控制器。
我的应用是这样的:
查看1 - >从json数组中获取一些用户并显示在表中。
当我在视图1中单击添加用户时,我将被重定向到视图2.
查看2 - >有2个输入字段和一个按钮(用于添加新用户)。
当我重定向到视图1时,我希望新用户被追加,但这不起作用。
为了方便起见,我在此处进行了演示 - http://plnkr.co/edit/yz6mpplZGh4q5bPDO2bc?p=preview
非常感谢任何帮助。
答案 0 :(得分:1)
View2
指令需要定义它需要View1
。这将告诉Angular将View1
的控制器作为参数传递给View2
的控制器。
然后,您可以在该控制器上调用方法addUser(..)
。
https://docs.angularjs.org/guide/directive#creating-directives-that-communicate
答案 1 :(得分:1)
在列表控制器输入时,您总是覆盖'用户'内容。
将您的控制器更改为
...
controller('UserController', function($scope,UserService){
if (!$scope.users)
{
UserService.getUsers().then(function(data){
$scope.users = data;
})
}
...
并带回你的'正确'
$scope.users.push($scope.user)
你的addUserController中的。