相关疑难解决方法(0)

在Angular JS中的控制器之间传递数据?

我有一个显示我的产品的基本控制器,

App.controller('ProductCtrl',function($scope,$productFactory){
     $productFactory.get().success(function(data){
           $scope.products = data;
     });
});
Run Code Online (Sandbox Code Playgroud)

在我看来,我在列表中显示这些产品

<ul>
    <li ng-repeat="product as products">
        {{product.name}}
    </li>
</ul
Run Code Online (Sandbox Code Playgroud)

我想要做的是当有人点击产品名称时,我有另一个名为cart的视图,其中添加了此产品.

 <ul class="cart">
      <li>
          //click one added here
      </li>
      <li>
          //click two added here
      </li>
 </ul>
Run Code Online (Sandbox Code Playgroud)

所以我的疑问是,如何将这个点击的产品从第一个控制器传递到第二个?我认为购物车也应该是一个控制器.

我使用指令处理click事件.另外我觉得我应该使用服务来实现上述功能只是无法想象如何?因为购物车将是预定义的,所添加的产品数量可能是5/10,具体取决于用户所在的页面.所以我想保持这种通用性.

更新:

我创建了一个广播服务,在第二个控制器中我收到它.现在查询是如何更新dom的?由于我的产品列表是非常硬编码的.

javascript angularjs angular-services

239
推荐指数
8
解决办法
34万
查看次数

如何使用AngularJS获取url参数

HTML源代码

<div ng-app="">
    <div ng-controller="test">
      <div ng-address-bar browser="html5"></div>
      <br><br>
      $location.url() = {{$location.url()}}<br>
      $location.search() = {{$location.search('keyword')}}<br>
      $location.hash() = {{$location.hash()}}<br>     
      keyword valus is={{loc}} and ={{loc1}}
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

AngularJS源代码

<script>
function test($scope, $location) {
  $scope.$location = $location;
  $scope.ur = $scope.$location.url('www.html.com/x.html?keyword=test#/x/u');
  $scope.loc1 = $scope.$location.search().keyword ;    
    if($location.url().indexOf('keyword') > -1){    
        $scope.loc= $location.url().split('=')[1];
        $scope.loc = $scope.loc.split("#")[0]        
    }
  }
 </script>
Run Code Online (Sandbox Code Playgroud)

这里变量locloc1返回测试作为上述URL的结果.这是正确的方法吗?

javascript angularjs routeparams

197
推荐指数
4
解决办法
47万
查看次数