小编Ale*_*ria的帖子

如何在$ state.go中添加参数?

我有一个编辑表单,用户可以在其中更新单个"拍卖".如何在更新功能中正确使用$ state.go('auctions'),以便在更新成功后用户被定向到拍卖视图?

或者更好:如何将参数传递给$ $ state.go('auction')

  // Update auction
  $scope.updateAuction = function(auction){
    auctions.updateAuction(auction, {
      product: $scope.product,
      condition: $scope.condition
    }).success(function() {
      $state.go('auctions');       // I think I need to add auction parameters here 
      ToastService.show('Auction updated');
    });
  };
Run Code Online (Sandbox Code Playgroud)

拍卖$ state函数如下所示:

  // state for showing single Auction
  .state('auctions', {
    url: '/auctions/{product}/{id}',
    templateUrl: 'auctions/auction-view.html',
    controller: 'AuctionViewCtrl',
    resolve: {
      auction: ['$stateParams', 'auctions', function($stateParams, auctions) {
        return auctions.get($stateParams.id);
      }]
    }
  })
Run Code Online (Sandbox Code Playgroud)

编辑表格只能通过相关的拍卖视图加入,所以也许有更好的选择使用$ state.go而不发送新的GET请求,因为拍卖已经加载?

angularjs angular-ui-router

12
推荐指数
1
解决办法
3万
查看次数

ng-if indexOf with JSON Arrays

我有一个JSON输出items- 显示我使用的单个项目ng-repeat="item in items".我可以使用访问当前登录的用户对象user

每个项目可以属于多个用户的愿望清单.如果用户将一个项目添加到他的心愿单,则user_id保存在其中item.wishlists

单个的JSON输出item看起来像这样:

{"id":1,"title":"This is a tile","wishlists":[{"user_id":2},{"user_id":3}]}
Run Code Online (Sandbox Code Playgroud)

当我这样做,user.id我得到当前登录用户的ID.

现在我想在ng-if内部使用ng-repeat="item in items"来检查current_user是否已经将此项添加到他的愿望清单,然后向该用户显示"从愿望清单中删除"按钮而不是"添加到心愿单".

我的工作方法是:

<div ng-repeat="item in items">
  <h3>{{item.title}}</h3>
  <a href="" ng-click="addToWishlist(item)" ng-if="item.wishlists.indexOf(user.id) == -1">Wish</a>
  <a href="" ng-click="removeFromWishlist(item)" ng-if="item.wishlists.indexOf(user.id) > -1">Undo-Wish</a>
</div>
Run Code Online (Sandbox Code Playgroud)

我可以像这样使用indexOf吗?或者,检查user.id是否在item.wishlists user_id中的正确angularJS方法是什么?

更新:

查看:(如果为true,则ctrl.hasWished将图标从'favorite'更改为'favorite_border'如果为false)

<div ng-repeat="item in items">
      <md-button class="md-icon-button feed-wish md-warn" aria-label="Wish" ng-click="ctrl.toggleWish(item)">
        <i class="material-icons">favorite{{ctrl.hasWished(item) ? '' : '_border' }}</i>
      </md-button> 
</div>
Run Code Online (Sandbox Code Playgroud)

控制器:

  // Check if User has wished …
Run Code Online (Sandbox Code Playgroud)

javascript json angularjs

6
推荐指数
1
解决办法
4391
查看次数

本机脚本:套接字连接超时

我在Mac上,我想在USB-C连接的Android设备上运行我的应用。

我的第一步始终是删除node_modules,hook和platform文件夹以及package.lock.json文件。之后,我跑步tns build android。构建完成后,我将tns run android通过nativescript sidekick 运行或启动应用程序。

但现在总是这样结束:

项目成功建立。正在设备5B24000362上安装...已成功在标识为“ 5B24000362”的设备上安装。无法在设备上应用更改:5B24000362。错误是:套接字连接超时。

由于两天前我已经出现此错误,并且无法继续使用该应用程序,因此,我按照此升级说明更新了所有本机脚本和角度依赖项。更新之后,该应用程序再次运行。但是现在几个小时后,我再次遇到相同的错误(相同的应用)。工作结束后,我什至将应用程序推送到git存储库,然后重新克隆它,不起作用。

nativescript nativescript-angular

4
推荐指数
1
解决办法
1903
查看次数