我有一个编辑表单,用户可以在其中更新单个"拍卖".如何在更新功能中正确使用$ 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请求,因为拍卖已经加载?
我有一个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) 我在Mac上,我想在USB-C连接的Android设备上运行我的应用。
我的第一步始终是删除node_modules,hook和platform文件夹以及package.lock.json文件。之后,我跑步tns build android。构建完成后,我将tns run android通过nativescript sidekick 运行或启动应用程序。
但现在总是这样结束:
项目成功建立。正在设备5B24000362上安装...已成功在标识为“ 5B24000362”的设备上安装。无法在设备上应用更改:5B24000362。错误是:套接字连接超时。
由于两天前我已经出现此错误,并且无法继续使用该应用程序,因此,我按照此升级说明更新了所有本机脚本和角度依赖项。更新之后,该应用程序再次运行。但是现在几个小时后,我再次遇到相同的错误(相同的应用)。工作结束后,我什至将应用程序推送到git存储库,然后重新克隆它,不起作用。