Dart的Web组件和Angular的指令看起来像是非常相似的目的.有什么重大差异吗?
这是我的代码,
import 'package:angular/angular.dart';
class AppModule extends Module {
AppModule(){
type(AppController);
type(LoginController);
type(RouteInitializer, implementedBy: AppRouter);
}
}
class AppRouter implements RouteInitializer {
init(Router router, ViewFactory view) {
router.root
..addRoute(
name: 'login',
path: '/login',
enter: view('app/views/login.tpl.html'))
..addRoute(
defaultRoute: true,
name: 'index',
enter: view('app/views/index.tpl.html'));
}
}
@NgController(selector: '[app-ctrl]', publishAs: 'ctrl')
class AppController {
}
@NgController(selector: '[login-ctrl]', publishAs: 'ctrl')
class LoginController {
Http _http;
String works = 'Works.';
LoginController(this._http);
}
Run Code Online (Sandbox Code Playgroud)
没有路由正常工作,点击"#/ login"链接不会更改网址或视图.
记录说
clicked /app/web/index.html#/login
route /app/web/index.html [Route: null]
route [Route: index]
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我有这个代码:
// main.dart
import "package:angular/angular.dart";
main () => ngBootstrap();
Run Code Online (Sandbox Code Playgroud)
我做 dart2js --minify --out=main.dart.js main.dart
然后我有main.dart.js,大小为2.6 MiB(2,744,320字节).这不正常.我做错了什么?
angular.dart是否可用于此阶段的生产?
我有一个组件MyComp,我想将一个函数作为参数传递给它.更确切地说,我想做类似的事情:
飞镖组件文件:
@NgComponent(
selector: 'mycomp',
publishAs: 'ctrl',
map: const {
'myfunc' :'=> myfunc'
}
)
class MyComponent {
Function myfunc;
....
myfunc();
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<mycomp myfunc="ctrl.myfunc"></button-list>
Run Code Online (Sandbox Code Playgroud)
问题是myfunc在组件中为null.我错过了什么吗?我怎样才能做到这一点?
我的AngularDart应用程序中有很多命名路由.我用老式的方式创建链接,如下所示:
<a href="#/activities">Go</a>
Run Code Online (Sandbox Code Playgroud)
这似乎很脆弱.如果我更改路径或更改策略远离哈希更改,我需要更改所有链接.
我可以这样做:
<a ng-link="activities">Go</a>
Run Code Online (Sandbox Code Playgroud)
activities路由配置中路由的名称在哪里.
我做了角落飞镖教程,我有一个问题.
要声明可用于依赖注入的类型,我必须这样做:
class MyAppModule extends Module {
MyAppModule() {
type(RecipeBookController);
}
}
Run Code Online (Sandbox Code Playgroud)
所有类型都是如此.
在一个大型应用程序中,您可以拥有数百种类型,因此声明所有类型是一种奇怪的方式.
有没有其他方法可以做到这一点?
谢谢.
我设法使用bind-语法将我的Angular.dart模型双向绑定到纸质元素:
<paper-input bind-value="item.name"></paper-input>
Run Code Online (Sandbox Code Playgroud)
现在我想创建一个可以公开属性以进行双向绑定的自定义组件:
@CustomTag('px-test')
class PxTest extends PolymerElement {
@published
var data = 1;
}
Run Code Online (Sandbox Code Playgroud)
用过:
<px-test bind-data="item.data"></px-test>
Run Code Online (Sandbox Code Playgroud)
组件被渲染,并且组件模板中引用的数据字段{{data}}被正确呈现,但是没有发生datato 的绑定item.data,即如果item.data是55,则组件仍然呈现1. Angular也尝试创建绑定,item.data创建一个监视,但更改不会传播到PxTest.data我必须更改什么PxTest才能使绑定发生?
版本:角度:1.0,聚合物:0.15.1 + 3
在AngularDart 3.0.0中,不推荐使用EventEmitter.那么,如何将子组件中的事件发送给父组件?
在更新之前,它看起来像:
@Component(
selector: 'my-test',
templateUrl: 'test.component.html'
)
class TestComponent {
@Input()
String name = '';
@Output()
EventEmitter<String> onNameChange = new EventEmitter<String>();
}
...
onNameChange.emit('New Name');
...
Run Code Online (Sandbox Code Playgroud)
现在我需要使用Stream和StreamController.有人能举个例子吗?
我正在尝试运行一个有角度的网络应用程序.我克隆了已确认的工作项目,但是当我运行时出现pub get以下错误:
/usr/lib/dart/bin/pub get
Resolving dependencies...
Got dependencies!
Precompiling dependencies...
Loading source assets...
Loading angular, sass_builder and dart_to_js_script_rewriter transformers...
Error on line 26, column 5 of ../../.pub-cache/hosted/pub.dartlang.org/angular_components-0.8.0/pubspec.yaml: Error loading transformer: 'package:sass_builder/sass_builder.dart': malformed type: line 34 pos 20: cannot resolve class 'Logger' from 'SassBuilder'
final _log = new Logger('sass_builder');
^
outputExtension: .scss.css
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Process finished with exit code 0
Run Code Online (Sandbox Code Playgroud)
我的pub.yaml:
name: ZwinnexD
description: A web app that is a web app
version: 0.21.37
#homepage: https://www.example.com
#author: Kod …Run Code Online (Sandbox Code Playgroud) 我已经搜索了关于如何在Visual Studio Code上有效设置Angular Dart 5的文档,但到目前为止还没有找到任何结论.
我已经搜索过的地方:
用于dart的VS Code插件不提供创建新空项目的功能.所以我现在不知所措.
我如何在VS Code IDE上设置AngularDart 5项目?有人可以向我推荐相同的资源吗?
angular-dart ×10
dart ×10
angular ×2
dart-webui ×2
angularjs ×1
dart-polymer ×1
dart-pub ×1
dart2js ×1