选择元素Angular

时间:2014-12-31 12:05:45

标签: javascript angularjs angularjs-scope viewstate ionic-framework

我在使用Angular JS Ionic时遇到问题。我使用Ajax获取列表但我不知道如何发送它。

 <li ng-repeat=" list in list">
        <a class="item item-icon-right " ng-click='next({list})'>
            <i class='icon ion-chevron-right'></i>
            <p>{{list.rejestracja}}, {{list.auto}}</p>
            <p>{{list.klient}}</p>
        </a>
    </li>

我想从另一个视图中获取我从此列表中选择的那些元素。

好的抱歉。当您从列表中选择一个项目时,我想在下一个视图中显示它。可能会显示更多:

在我的控制器中,我有以下功能:

$scope.next = function(message) {
    $scope.user = message;
    console.log($scope.user);
    $state.go('master');
} 

所以,当我去找&#39; master&#39;我无法使用此$scope.user,但它并未向我展示。有人知道如何改变吗?

1 个答案:

答案 0 :(得分:0)

ionic使用ui-router所以如果您的下一个视图是嵌套视图,您应该能够通过范围继承(https://github.com/angular-ui/ui-router/wiki/Nested-States-%26-Nested-Views)在子控制器中使用控制器变量。 如果您的视图没有嵌套,那么您有一些选项

1-put it in $rootScope
2-use session/local storage
3-create a service to hold that information across the application

这样做的方式取决于信息的附加功能和实时时间 如果传递那些数据,就会发生任何事情,你可以使用$ rootScope 或者创建一个包含随机数据所有和平的剪贴板服务

在你的控制器中使用$ rootScope在带有数据源的一个中注入$ rootScope,并拥有你想要显示数据的视图。 然后在你的源控制器下一个函数

$scope.next = function(message) {
  $scope.user = message;
  $rootScope.user=message;
  console.log($scope.user);
  $state.go('master');
} 

然后在目标控制器中执行

$scope.message=$rootScope.message;

可以让您访问视图中的消息。

这不是最干净的方法,但是它可以让你绕过这个问题而不会让你感到沮丧,当你摔倒时你可以重新审视这个工具更好的解决方案