Sou um grande fã de JS digitados e quando Dart foi lançado no ano passado fiquei muito feliz.
Agora que o TypeScript foi introduzido, a caixa de ferramentas do desenvolvedor do lado do cliente digitado está tão boa quanto antes.
3 coisas interessantes que descobri usando o modelo de aplicativo padrão na nova versão M1 do Dart Editor
import 'dart:html';
import 'package:js/js.dart' as js;
num rotatePos = 0;
void main() {
query("#text")
..text = "Click me!"
..on.click.add((Event event){
rotatePos += 360;
query("#text").style
..transition = "1s"
..transform = "rotate(${rotatePos}deg)";
});
js.scoped(() {
var j = js.context;
j.alert('Hello from Dart via JS');
j.$("#text").html("foo");
});
}
Notação de ponto duplo
usado para encadeamento, o primeiro. está operando no link “Click me!” string,
no entanto , o segundo está referenciando o elemento de consulta,
surpreendentemente, não consegui encontrar referência a ele (tenho certeza que está bem documentado), mas me surpreendeuFunção anônima multilinha
Na versão anterior do Dart, não consegui encontrar uma maneira de criar funções anônimas de várias linhas, não estava nos exemplos (only () => … formulário) ou na documentação, e simplesmente assumi que não é suportado .
Seja com suporte ou não, fiquei feliz em descobrir que oferece suporte de fato e de uma forma muito intuitiva (como no exemplo acima do manipulador de cliques)
A interoperabilidade JS funciona , observe o wrapper js.scoped e a chamada para um método jquery simplesmente invocando-o no objeto de contexto.
Isso pode ser um pouco menos conveniente do que apenas escrever JavaScript como faria no TypeScript, mas é uma solução alternativa muito próxima que torna o Dart muito mais relevante.
Tem mais coisas que talvez estejam documentadas, mas ainda assim ficou surpreso ao descobrir? tem algum outro td; lr mostrar e falar sobre Dart? sinta-se livre para comentar