양식 구성 요소를 만들었습니다. 그 형태의 구성 요소에는 또한 범위 구성 요소가 있습니다. 내 범위 구성 요소에서 내 값을 검색하는 방법과 더 일반적으로 외부에서 구성 요소와 어떻게 상호 작용할 수 있는지 궁금합니다. (목표가 물건을 캡슐화하는 것이라 할지라도) 어딘가에 그런 구성 요소가 있는지는 모르겠지만 지금은 어떻게 작동하는지 배우고 싶습니다. 감사 ! 여기 구성 요소에서 값을 검색하는 방법
는index.html을 내 코드입니다
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>data_generator_front</title>
</head>
<body>
<my-form></my-form>
<div class="results"></div>
<script type="application/dart" src="index.dart"></script>
<script src="packages/browser/dart.js"></script>
</body>
</html>
index.dart
import "package:angular/angular.dart";
import "package:angular/application_factory.dart";
import "package:data_generator_front/component/my_form.dart";
import "package:data_generator_front/component/range.dart";
@Injectable()
class RootContext {
String myProperty = "jeahhhhhhhh";
void method1() {
print("method1");
}
}
main() {
applicationFactory()
.rootContextType(RootContext)
.addModule(new DateFormModule())
.addModule(new RangeComponentModule())
.run();
}
my_form.html
<form>
<range name="years" value="myProp"></range>
<div>
<label>Random:</label>
<input type="checkbox" ng-model="random">
</div>
<div>
<input type="submit" value="Go !">
</div>
</form>
my_form.dart
library my_form;
import "package:angular/angular.dart";
@Component(selector: "my-form", templateUrl: "my_form.html", exportExpressions: const ["submit"])
class DateFormComponent {
@NgOneWay("random")
bool random;
submit() {
print("hello");
}
}
class DateFormModule extends Module {
DateFormModule() {
bind(DateFormComponent);
}
}
range.dart
import "package:angular/angular.dart";
@Component(selector: "range", templateUrl: "range.html")
class RangeComponent {
@NgAttr("name")
String name;
@NgOneWay("range_begin")
String range_begin;
@NgOneWay("range_end")
String range_end;
List<String> ranges = [];
addRange() {
ranges.add("$range_begin-$range_end");
range_begin = "";
range_end = "";
}
info(){
print(range_begin);
print(range_end);
print(ranges);
print(ranges.reduce((begin, item){
return begin += ",$item";
}));
}
}
class RangeComponentModule extends Module {
RangeComponentModule() {
bind(RangeComponent);
}
}
range.html
<div>
<label>{{name}}:</label>
<input type="text" placeholder="begin" size="8" ng-model="range_begin">
<input type="text" placeholder="end" size="8" ng-model="range_end">
<input type="submit" value="add" ng-click="addRange()" >
<input type="submit" value="info" ng-click="info()" >
<input type="submit" value="value" ng-click="range()" >
</div>
'@NgAttr ("값") 문자열 값을 다트,'NgTwoWay' @'이어야한다. '@ NgAttr'은 단지 리터럴 값을 묶는 것이다. –
파서 오류 : 예상치 못한 토큰 {, 예상 식별자, 키워드 또는 문자열이 {{{v1}}]의열 2에 있지만 {{}}없이 작동합니다. 바인딩이 필요하다고 생각 했나요? – BenNG
좋아요. NgAttr, (at) NgOneWay, (at) NgTwoWay가 DOM 속성을 가진 인스턴스 속성을 바인드하는 것을 보았습니다 ... cool thx :) – BenNG