在打字稿中,可以像这样定义子路径:
export const routes: Routes = [
{ path: '', redirectTo: 'product-list', pathMatch: 'full' },
{ path: 'product-list', component: ProductList },
{ path: 'product-details/:id', component: ProductDetails,
children: [
{ path: '', component: Overview },
{ path: 'specs', component: Specs }
]
}
];
Run Code Online (Sandbox Code Playgroud)
在镖@RouteConfig元是相似的,但没有一个童装上的路线属性来定义子路由.
在Dart中定义子路径的正确方法是什么?发布了针对dart的Angular 2.0,但在使用dart中的路由时,文档仍然完全缺乏.
我正在尝试重现以下App Layout Demo(app_layout_demo)示例:
https://github.com/dart-lang/angular_components_example/tree/master/lib/src/app_layout_demo
这些物品应该出现在抽屉里:
<material-drawer persistent #drawer="drawer" [attr.end]="end ? '' : null">
<material-list *deferredContent>
<div group class="mat-drawer-spacer"></div>
<div group>
<material-list-item>
<material-icon icon="inbox"></material-icon>Inbox
</material-list-item>
<material-list-item>
<material-icon icon="star"></material-icon>Star
</material-list-item>
<material-list-item>
<material-icon icon="send"></material-icon>Sent Mail
</material-list-item>
<material-list-item>
<material-icon icon="drafts"></material-icon>Drafts
</material-list-item>
</div>
<div group>
<div label>Tags</div>
<material-list-item>
<material-icon icon="star"></material-icon>Favorites
</material-list-item>
</div>
</material-list>
</material-drawer>
Run Code Online (Sandbox Code Playgroud)
但它没有在抽屉上显示项目.看到:
浏览器控制台中也存在错误:
EXCEPTION: Invalid argument(s): No provider found for DomService. html_dart2js.dart:3559
Run Code Online (Sandbox Code Playgroud)
可能是什么问题呢?
我正在尝试使用一些DART功能部署静态网站.在此之前,我想知道我是否可以使用Dart编译的JavaScript代码.
如何在 dartpad 控制台中获取用户输入?
每当我写作时
import 'dart:io';
void main() {
stdout.write("What's your name? ");
var name = stdin.readLineSync();
print("Hi, $name!");
}
Run Code Online (Sandbox Code Playgroud)
但我在控制台窗口中遇到了这样的异常
Uncaught exception:
Unsupported operation: StdIOUtils._getStdioOutputStream
Run Code Online (Sandbox Code Playgroud) 飞镖:1.24.2; 角度:4.0.0; 我创建了一些基于角形式的CSS规则.ng-valid和.ng-invalid类.但是,在最后一个版本中,似乎ng-valid并ng-invalid没有暴露类,所以我的CSS规则不再有用.这是对的吗?如果是的话,我怎么能绕过这个改变?
编辑1:测试用例我只是在IDE(WebStorm)中使用角度和角度材质生成了一个全新的项目.它生成一个简单的待办事项应用程序.我拿了todo_list_component.html并用<form> </form>标签包装了整个内容.在todo_list_component.dart中,我为angular_forms添加了一个导入,并将formDirectives添加到指令列表中.在dartium中检查表单没有ng-valid添加任何类.在我的例子中,唯一添加的类是:class="_ngcontent-umj-2"
Edit2:快捷方式不是很优雅,但工作:
<form #form="ngForm" [class.ng-valid]="form.valid" [class.ng-invalid]="!form.valid">
Run Code Online (Sandbox Code Playgroud) dart 1.24.3,Angular 4.0.0
出于可重复使用的原因,我将我的应用程序分成了许多包.假设我使用的是包C,这取决于依赖于包A的包B.在其他包中也使用A,B可以单独使用.最后,C向B添加了更多信息,并以某种方式定制.
现在,在包中AI有一个显示一些信息的模态窗口,但在包中BI应该添加一个组件,在包C中再添加一个.由于这个模态窗口在我的所有组件表单中使用,我无法在子包内自定义它,因为这意味着继承所有父表单并自定义它们.我想要使用的是类似于提供者注入(例如我想在我的应用程序组件C中声明的内容):
ModalWindowComponent,
const Provider(pack_b.ModalWindowComponent, useClass: ModalWindowComponent),
const Provider(pack_a.ModalWindowComponent, useClass: ModalWindowComponent)
Run Code Online (Sandbox Code Playgroud)
谷歌搜索我看到了一些我可以在我的案例中使用的东西,即ComponentResolver类.但是,如果它是Angular 5的新功能或者也可以在角度4中使用,我无法得到.在其他一些地方它似乎也会被弃用,所以我有点困惑.此外,我不需要在DOM中动态添加组件,而是动态地将组件替换为子包中的组件(继承基础组件).
有没有办法做到这一点?有什么例子我可以看看吗?
angular-dart ×6
dart ×6
angular ×4
dart-webui ×2
css3 ×1
dart-html ×1
dart-polymer ×1
firebase ×1
forms ×1
javascript ×1