"Angular 2 could not understand the value in View#template" 使用 $event
"Angular 2 could not understand the value in View#template" using $event
我无法让 $event 工作。示例:
import 'package:angular2/core.dart';
@Component(
selector: 'my-app',
template: '''
<h1>{{title}}</h1>
<button (click)="onTest($event)">testing</button>
''')
class AppComponent {
String title = 'Testing event';
onTest(event) {
print(event);
}
}
当我让 pub 为应用提供服务时,我抛出了构建错误:
Build error:
Transform DirectiveProcessor on file_transfer|lib/app_component.dart threw error: Angular 2 could not understand the value in View#template.
'''
<h1>{{title}}</h1>
<button (click)="onTest($event)">testing</button...
package:angular2/src/transform/common/type_metadata_reader.dart 164:5 _expressionToString
package:angular2/src/transform/common/type_metadata_reader.dart 920:17 _CompileTemplateMetadataVisitor._populateTemplate
package:angular2/src/transform/common/type_metadata_reader.dart 901:9 _CompileTemplateMetadataVisitor.visitNamedExpression
package:analyzer/src/dart/ast/ast.dart 7455:15 NamedExpressionImpl.accept
...
我也尝试过将 (click) 更改为 ng-click,如此处 $event in AngularDart 1.0 is not available anymore - what is the alternative? 但没有帮助。
我是 angular 的新手,但是上面的代码 应该 可以工作,对吗?我查看了 https://webdev.dartlang.org/angular/guide/template-syntax#!#event-binding 和英雄示例,其中也使用了 $event 。看不出有什么区别...
感谢任何帮助。
如果模板在其自己的文件中,则此代码段可以正常工作。
但是,由于模板位于 .dart
文件中,因此字符串中的任何 $variable
都将被计算为该上下文中 variable
的值。
在这种情况下,以下任何一项都可以使这项工作:
- 转义模板中的
$
。替换
<button (click)="onTest($event)">testing</button>
和
<button (click)="onTest($event)">testing</button>
- 使用原始字符串作为模板:
template: r'''
...template content...
''')
我无法让 $event 工作。示例:
import 'package:angular2/core.dart';
@Component(
selector: 'my-app',
template: '''
<h1>{{title}}</h1>
<button (click)="onTest($event)">testing</button>
''')
class AppComponent {
String title = 'Testing event';
onTest(event) {
print(event);
}
}
当我让 pub 为应用提供服务时,我抛出了构建错误:
Build error:
Transform DirectiveProcessor on file_transfer|lib/app_component.dart threw error: Angular 2 could not understand the value in View#template.
'''
<h1>{{title}}</h1>
<button (click)="onTest($event)">testing</button...
package:angular2/src/transform/common/type_metadata_reader.dart 164:5 _expressionToString
package:angular2/src/transform/common/type_metadata_reader.dart 920:17 _CompileTemplateMetadataVisitor._populateTemplate
package:angular2/src/transform/common/type_metadata_reader.dart 901:9 _CompileTemplateMetadataVisitor.visitNamedExpression
package:analyzer/src/dart/ast/ast.dart 7455:15 NamedExpressionImpl.accept
...
我也尝试过将 (click) 更改为 ng-click,如此处 $event in AngularDart 1.0 is not available anymore - what is the alternative? 但没有帮助。
我是 angular 的新手,但是上面的代码 应该 可以工作,对吗?我查看了 https://webdev.dartlang.org/angular/guide/template-syntax#!#event-binding 和英雄示例,其中也使用了 $event 。看不出有什么区别...
感谢任何帮助。
如果模板在其自己的文件中,则此代码段可以正常工作。
但是,由于模板位于 .dart
文件中,因此字符串中的任何 $variable
都将被计算为该上下文中 variable
的值。
在这种情况下,以下任何一项都可以使这项工作:
- 转义模板中的
$
。替换
<button (click)="onTest($event)">testing</button>
和
<button (click)="onTest($event)">testing</button>
- 使用原始字符串作为模板:
template: r'''
...template content...
''')