if (!~_.findIndex(vm.cartItems, objItems)) {
vm.cartItems.push(objItems);
}
var cartItems = [
{id: 1, name: 'foo'},
{id: 2, name: 'bar'}
];
var itemExists = {
id: 1,
name: 'foo'
};
var itemNew = {
id: 3,
name: 'baz'
};
function hasItem(collection, needle) {
for (var i = 0, ii = collection.length; i < ii; ++i) {
var item = collection[i];
var keys = Object.keys(needle),
matched = 0;
keys.forEach(function (key) {
if (item[key] == needle[key]) {
++matched;
}
});
if (matched === keys.length) {
return true;
}
}
return false;
}
console.log(hasItem(cartItems, itemExists));
console.log(hasItem(cartItems, itemNew));
controllerAs
создает переменную 'startPoint' в текущем scope директивы.scope: {}
или scope: true
} - тогда извне переменная не будет доступна.$scope/$element
в контроллере - моветон. Все DOM операции должны происходить в link-функции директивы. Если сложная логика - это всё выносится в сервисы (в которых, собственно, и должна храниться вся бизнес-логика приложения).// .env
BROADCAST_DRIVER=redis
// app/http/controllers/PostController.php
class PostController extends Controller
{
public function store(Request $request)
{
$post = Post::create($request);
Event::fire(new PostCreated($post));
return $post;
}
}
// app/events/PostCreated.php
class PostCreated extends Event implements ShouldBroadcast
{
use SerializesModels;
private $post;
public function __construct(Post $post)
{
$this->post = $post;
}
public function broadcastOn()
{
return [
'post_created',
];
}
public function broadcastAs()
{
return 'post_created';
}
public function broadcastWith()
{
return $this->post;
}
}
$(function () {
$('td').on('click', function () {
var $td = $(this),
$tr = $td.parent();
alert('row: ' + $tr.index() + ', col: ' + $td.index());
});
});