Passando parametros para Controller com ng-init

Me deparei com uma situação no mínimo inusitada, nunca precisei passar um valor para o controller montar uma chamada no ajax ao entrar diretamente na página até hoje!

A solução para isso é fácil:

<div ng-controller="controller" ng-init="x = x">

Onde X é o nome da variável e o outro X é o valor.

Fica a documentação para quem for mais curioso: https://docs.angularjs.org/api/ng/directive/ngInit

Ionic sem cache na página

Hoje passei por um pequeno problema com o Ionic Framework, estou atualizando  um novo antigo e  toda vida que eu acessava a página ele não realizava o ng-init , logo me lembrei do esquema de cache.

Essa dica é interesante, pois temos 2 formas de remover o cache da página:

1) Direto na view

<ion-nav-view name="other" cache-view="false"></ion-nav-view>

2) Na rota

$stateProvider.state('other', {
   cache: false,
   url : '/other',
   templateUrl : 'templates/other/other.html'
})

Qualquer uma das duas, vai fazer seu controller ser chamado sempre.

Espero que tenha ajudado!

Auto reload Node.js Server

Dica rápida.

Hoje eu estava precisando usar um servidor Node.js mas toda vez que alterava o arquivo eu tinha que parar o servidor e startar novamente.

Solução muito util chamada Nodemon.io ele fica escutando o arquivo e verifica se tem alteração, para o server e starta novamente. Muito simples e rápido…

Mais fácil que isso é usar e instalar!

Instalando:

npm install -g nodemon

Usando:

nodemon app.js

Material Design Google

Olá pessoal, procurando novas formas de ter um layout para seus aplicativos Android mais agradável? Que tal utilizar os padrões do Google para isso?

Apresento a vocês  o Material Design:

Material design (codenamed quantum paper)[1] is a design language developed by Google and announced at the Google I/O conference on June 25, 2014. Expanding upon the “card” motifs first seen in Google Now, it is a design with increased use of grid-based layouts, responsive animations and transitions, padding, and depth effects such as lighting and shadows. Designer Matías Duarte explained that “unlike real paper, our digital material can expand and reform intelligently. Material has physical surfaces and edges. Seams and shadows provide meaning about what you can touch.”[2][3][4] Google states that their new design language is based on paper and ink.

Fonte: Wiki

Para uma introdução melhor, sugiro que vejam o link http://www.google.com/design/spec/material-design/introduction.html

Posteriormente irei postar mais sobre o assunto já que estou trabalhando com isso agora.

Alguns links para ajudar nos estudos:

AngularJS: quando usar Service e Factory

Duvida que ocorre muito entre os iniciantes em AngularJS, foi uma pergunta de um colega meu hoje, ele me pergunta  “Qual a diferença entre Service e Factory”. Analisando código é mais simples do que explicar com palavras 🙂

function factory(name, factoryFn) {
  return provider(name, { $get: factoryFn });
}

function service(name, constructor) {
  return factory(name, ['$injector', function($injector) {
    return $injector.instantiate(constructor);
  }]);
}

A cima vemos um exemplo de factory e outro de service. Uma service simplesmente retorna uma factory, teoricamente eles são iguais. A diferença está no $injector.instantiate que cria uma nova instância de service.

Ou seja, qualquer um que você escolher servirá. Geralmente, nós usamos as factories para funções “class-like”, pois nelas você adiciona propriedades e atributos e pode retornar um objeto para um controller.

Observe:

app.factory('Person', function(){
  return {
    name: "Mayron",
    sayHello: function(text){
      return "Hello!!!";
    }
  }
});

Já os services utilizamos quando queremos que a funções tenham um retorno:

app.service('personService', function($http){
  this.getPersonInfo = function(personId){
    return $http.get("/Person/", { params: {PersonId: personId });
  };
});

Podemos ver a documentação neste link, para ter acesso a mais explicações para quem quer entender melhor.

Qualquer dúvida, sugestão ou crítica, pode mandar que estamos aqui para responder.

Programador cria emulador do Game Boy Advance em JavaScript

Gameboy Advance

Com o avanço das tecnologias de desenvolvimento web, o navegador se tornou uma ferramenta poderosa e extremamente versátil, como prova este emulador de Game Boy Advance desenvolvido na linguagem JavaScript.

Totalmente baseado no browser, o GameBoyAdvance Online foi criado de forma independente, e carrega uma série de ROMs de games disponíveis para o portátil da Nintendo.

Há diversos títulos das séries Pokémon, Megaman e Super Mario, além de outros games clássicos. Basta escolher e esperar o jogo carregar.

Lançado originalmente em 2001, o Game Boy Advance foi um dos últimos produtos da linha de portáteis da empresa a levar o nome Game Boy. Confira a lista completa de games disponíveis no emulador:

•    Advance Wars
•    Advance Wars 2
•    Aladdin
•    Alien Hominid
•    Bomberman Max 2 – Blue Advance
•    Bomberman Tournament
•    Bubble Bobble: Old and New
•    Croket! – Yume no Banker Survival!
•    Croket! 2 – Yami no Bank to Banqueen
•    Croket! 3 – Granu Oukoku no Nazo
•    Croket! 4 – Bank no Mori no Mamorigami
•    Digimon Racing
•    Dragon Ball Z – Supersonic Warriors
•    Final Fantasy IV Advance
•    Final Fantasy Tactics Advance
•    Fire Emblem
•    Frogger Advance – The Great Quest
•    Frogger’s Adventures – Temple of the Frog
•    Frogger’s Adventures 2 – The Lost Wand
•    F-Zero – GP Legend
•    F-Zero – Maximum Velocity
•    Game & Watch Gallery 4
•    Golden Sun
•    Gunstar Super Heroes
•    Hamtaro – Ham-Ham Heartbreak
•    Kirby & The Amazing Mirror
•    Kirby: Nightmare in Dreamland
•    Mario & Luigi: Superstar Saga
•    Mario Kart: Super Circuit
•    Mario Party Advance
•    Mario Pinball Land
•    Megaman & Bass
•    Megaman Battle Network 1
•    Megaman Battle Network 2
•    Megaman Battle Network 3 Blue
•    Megaman Battle Network 4 Blue Moon
•    Megaman Battle Network 4 Red Sun
•    Megaman Battle Network 5 Team Protoman
•    Megaman Battle Network 6 Cybeast Falzar
•    Megaman Zero
•    Megaman Zero 2
•    Megaman Zero 3
•    Megaman Zero 4
•    Metal Slug Advance
•    Metriod Fusion
•    Momotarou Dentetsu G Gold Deck wo Tsukure!
•    Monopoly
•    Monster Force
•    Mortal Kombat Advance
•    Pacman World
•    Pacman World 2
•    Pokemon Emerald
•    Pokemon Leaf Green
•    Pokemon Fire Red
•    Pokemon Ruby
•    Pokemon Sapphire
•    Pokemon Video Show Pak 1
•    Pokemon Video Show Pak 2
•    Pokemon Video Show Pak 3
•    Pokemon Video Show Pak 4
•    Sonic Advance
•    Sonic Advance 2
•    Sonic Advance 3
•    Sonic Battle
•    Sonic Pinball
•    Spyro Adventure
•    Spyro: Season of Ice
•    Spyro 2: Season of Flame
•    Super Mario Advance
•    Super Mario Advance 2
•    Super Mario Advance 3
•    Super Mario Advance 4
•    Super Monkey Ball Jr
•    Super Street Fighter II: Turbo Revival
•    Super Street Fighter III: Alpha
•    Tales of Phantasia
•    Tak 2: The Staff of Dreams
•    Teenage Mutant Ninja Turtles
•    Tetris Worlds
•    The Sims: Bustin ‘ Out
•    The Sims 2
•    The Simpsons: Road Rage
•    Turok Evolution
•    Wario Land 4
•    Wario Ware Inc
•    The Legend of Zelda: A Link to the Past
•    The Legend of Zelda: The Minish Cap

 

 

Fonte: INFO