角JS有$pristine,$dirty,$valid,和$invalid用于检查表单的状态布尔值.Angular Dart中有相应的等价物吗?
我看到一些Angular dart样本使用以下形式指定属性绑定:
@NgComponent(
selector: 'foobar',
publishAs: 'foo',
map : const { "label" : "@label"}
)
Run Code Online (Sandbox Code Playgroud)
其他人注释个别字段:
class FooBar {
@NgOneWayOneTime("label")
String label;
}
Run Code Online (Sandbox Code Playgroud)
我有理由想要使用一种形式而不是另一种吗?
还有一个问题:我可以混合搭配这两种形式吗?
假设我有一个基类:
MyBase {
@NgOneWay("label")
String label;
}
Run Code Online (Sandbox Code Playgroud)
我可以从该基类继承,并让Angular选择注释吗?
我已经阅读了角度教程的生产部署章节,该教程指出了几种优化JS输出大小的方法.
我还看到了一个名为feat(变形金刚)的提交:将角度变换器添加到pub以进行无镜像代码生成.在这个提交中,我们可以看到使用新的角度变换器.
有没有人知道像jsfiddle.net这样的在线服务,但是对于 Angular Dart Code?
试图让一个简单的点击处理程序工作,这被证明非常令人沮丧.该应用程序只是一个测试应用程序来尝试不同的Angular.Dart功能. - 使用Dart 1.6和Angular 1.0并在Dartium中运行 -
单击该按钮会引发错误.Ng-单击"getMe"的"无getter".但是输入和标签上的数据绑定完全正常.
示例代码
import 'package:angular/angular.dart';
import 'package:angular/application_factory.dart';
class TestMod extends Module {
TestMod() {
bind(ToggleComponent);
}
}
@Component(selector: 'toggle-comp', templateUrl: "test.html", publishAs: 'toggle')
class ToggleComponent {
String name = "";
@NgTwoWay('rating')
int rating;
ToggleComponent() {
}
void clickMe() {
print("Click");
}
}
void main() {
applicationFactory()
..addModule(new TestMod())
..run();
}
Run Code Online (Sandbox Code Playgroud)
test.html文件 - 绑定适用于ng-model但不适用于ng-click
<div>
<h3>Hellos {{name}} {{rating}}!</h3>
Name: <input type="text" ng-model="name">
<button ng-click="clickMe()">Click me</button>
</div>
Run Code Online (Sandbox Code Playgroud)
最后这里是index.html文件
<!DOCTYPE html>
<html ng-app >
<head>
<meta charset="utf-8">
<meta …Run Code Online (Sandbox Code Playgroud) 我在看这个源代码:https://github.com/angular/angular.io/blob/master/public/docs/_examples/toh-5/dart/lib/app_component.dart
而且当我转到根目录时,我的应用程序似乎正在路由.
本地主机:8080 /
当我在我的应用程序中移动时路由更新,但似乎如果我在某个东西: localhost:8080/dashboard在一个basecase中,并进行硬刷新,它失败了.它会给我一个404 not found!错误.
如果我这样做它会工作:localhost:8080/#!/dashboard但这不是传递给我的应用程序的地址.
在index.html我有: <base href="/">
我的App_Component.dart文件如下:
import 'package:angular2/angular2.dart';
import 'package:angular2/router.dart';
import 'hero_component.dart';
import 'heroes_component.dart';
import 'dashboard_component.dart';
import 'hero_service.dart';
@Component(
selector: "my-app",
directives: const [ROUTER_DIRECTIVES],
providers: const [HeroService, ROUTER_PROVIDERS],
templateUrl: "app_component.html")
@RouteConfig(const [
const Route(
path: "/dashboard",
name: "Dashboard",
component: DashboardComponent,
useAsDefault: true),
const Route(
path: "/detail/:id", name: "HeroDetail", component: HeroDetailComponent),
const Route(path: "/heroes", name: "Heroes", component: HeroesComponent)
])
class AppComponent {
String title = "Tour …Run Code Online (Sandbox Code Playgroud) 这forEach很好用
var newMarkers = new List<Marker>();
providers.forEach((p) {
var marker = markerFrom(p);
newMarkers.add(marker);
print("got one");
});
_markers = newMarkers;
Run Code Online (Sandbox Code Playgroud)
但是map当放置在与以下内容完全相同的位置时,这不会被调用forEach:
_markers = providers.map((p) => markerFrom(p));
Run Code Online (Sandbox Code Playgroud)
另外,这是markerFrom方法:
Marker markerFrom(FoodProvider provider) {
var marker = new Marker(new MarkerOptions()
..map = _map
..position = new LatLng(provider.latitude, provider.longitude)
..title = provider.name
..icon = 'http://maps.google.com/mapfiles/ms/icons/red-dot.png'
);
var infoWindow = new InfoWindow(new InfoWindowOptions()..content = marker.title);
marker.onClick.listen((e) {
infoWindow.open(_map, marker);
});
return marker;
}
Run Code Online (Sandbox Code Playgroud) 我只是在阅读 AngularDart路由教程并遇到了这个代码片段。
import 'package:angular/angular.dart';
import 'package:angular_router/angular_router.dart';
import 'route_paths.dart' as paths;
import 'crisis_list_component.template.dart' as clct;
import 'hero_list_component.template.dart' as hlct;
@Injectable()
class Routes {
static final _crises = new RouteDefinition(
routePath: paths.crises,
component: clct.CrisisListComponentNgFactory,
);
static final _heroes = new RouteDefinition(
routePath: paths.heroes,
component: hlct.HeroListComponentNgFactory,
); ..... see routing tutorial link above.
}
Run Code Online (Sandbox Code Playgroud)
有什么作用
import 'crisis_list_component.template.dart' as clct;
import 'hero_list_component.template.dart' as hlct;
Run Code Online (Sandbox Code Playgroud)
实际导入?
运行webdev serve并尝试调试错误时。我没有看到任何.js.map用于调试的dart 源代码或文件。
可能有什么问题?这是一个使用最新 Dart 2 的全新 angulardart 项目,并且webdev 0.2.4
我正在尝试开始并设置以开发 Dart。我正在按照https://webdev.dartlang.org/guides/get-started上的说明在 Linux上安装。然而,似乎缺少一个必不可少的步骤。
在上面的链接中,第 2 步是关于安装 SDK。第 3 步的标题是:
获取 CLI 工具或 WebStorm(或两者)
然而 step 给出了使用该pub命令的示例,它引用的链接也使用了这个命令,但是没有关于在哪里找到该pub实用程序或如何安装它的说明。
我会假设它pub是作为 Dart SDK 的一部分提供的。我可以dart在我的终端中运行,并看到它已安装。例如dart --version返回Dart VM version: 2.0.0 (Unknown timestamp) on "linux_x64"。但pub返回zsh: command not found: pub
因此,我的问题是我在哪里可以找到,以及如何安装pub?