目前正在开发一个 AngularJS + NodeJS 应用程序,突然我看到了这个代码:
$transitions.onStart({exiting: 'orders.view'}, function(trans) {
Socket.emit('orders:leave', {id_order: trans.params('from').id_order});
});
Run Code Online (Sandbox Code Playgroud)
帮我找出$transitions午餐吃什么。
谢谢。
答案编辑后:
对于那些最终登陆这里的人,你基本上可以在这些过渡中做任何你想做的事情;包括退出X状态时做一些事情。
'use strict';
// Configuring the orders module
angular.module('orders').run(['Menus','MODULE_LIST', 'Authentication', '$transitions', 'Socket', '$templateCache',
function(Menus, MODULE_LIST, Authentication, $transitions, Socket, $templateCache) {
$transitions.onStart({exiting: 'orders.view'}, function(trans) {
alert('Alert function has stopped you from going further BEEP BOOP')
Socket.emit('orders:leave', {id_order: trans.params('from').id_order});
});
var stlViewPopoverHtml =
'<div>' +
'<img ng-src="{{url}}" height="{{height}}" width="{{width}}">' +
'</div>';
$templateCache.put('stl-preview-popover.html', stlViewPopoverHtml);
}
]);
Run Code Online (Sandbox Code Playgroud) 我对Knex.js查询生成器有点陌生,目前在使用某种简单的MySQL选择方面遇到麻烦。这里是 :
SELECT orders.*, IFNULL(x.unread, 0) AS unread_messages
FROM orders
LEFT JOIN
(SELECT id_order, COUNT(*) AS unread
FROM chats
WHERE read_by_user = 0
GROUP BY id_order) AS x
ON x.id_order = orders.id_order
WHERE id_customer = 42
ORDER BY date_submitted;
Run Code Online (Sandbox Code Playgroud)
我有点看不懂Knex的文档,但是我应该将.joinRaw用于联接,将knex.raw用于ifnull命令吗?