gpt4 book ai didi

dart - 模板重复 模板重复

转载 作者:行者123 更新时间:2023-12-02 20:07:31 25 4
gpt4 key购买 nike

是否可以在模板内重复模板?我想要这样的东西:

<polymer-element name="polymer-mylement">
<template>
<div class="col-xs-12 col-sm-12 col-md-12">
{{ myobject.stringone }}
<br>
{{ myobject.stringtwo }}
<br>
<table>
<tbody>
<tr template repeat="{{ a in myobject.as}}" >
<td>{{ a.type }}</td>

<tr template repeat="{{ b in a.bs }}">
<li>
{{ b.type }}
</li>
</tr>
</tr>
</tbody>
</table>
</div>
</template>
<script type="application/dart" src="polymer_myelement.dart"></script>
</polymer-element>

polymer_mylement.dart

import 'dart:html';
import 'dart:core';
import 'package:polymer/polymer.dart';
import 'dart:typed_data';
import 'protobuf/***/myobject.pb.dart';
import 'package:custom_element/custom_element.dart';
import 'package:intl/intl.dart';

class MyObject {
String string1;
String string2;
List<a> as;

MyObject(this.string1, this.string2, this.as);
}

class a {
String type;
List<b> bs;

a(this.type, this.bs);
}

class b {
String type;

b(this.type);
}

@CustomTag('polymer-myelement')
class MyObjectElement extends PolymerElement with ObservableMixin {

bool get applyAuthorStyles => true;

@observable MyObject myobject;
}

main() {

void onDataLoaded(ByteBuffer response) {

Uint8List li = new Uint8List.view(response);
MyObject myobject = new MyObject.fromBuffer(li);

List<a> as = new List();
List<b> bs = new List();

for(final a in myobject.as) {
for (final b in a.bs){
bs.add(new b(b.type));
}
as.add(new a(a.type.toString(), bs));
}

MyObject myobject = new MyObject(myobject.string1, myobject.string2, as);


var myElem = createElement('polymer-myelement');
MyObjectElement moele = myElem.xtag;
moele.myobject = myobject;
query('.container').children.add(myElem);



}

query('#menu-mylement').onClick.listen((MouseEvent event){

query('.container').children.clear();

try {
var url = "*****";
var request = new HttpRequest();
request.open('GET', url);
request.responseType = "arraybuffer";
request.onLoad.listen((event) => onDataLoaded(event.target.response)
//print('Request complete ${event.target.response}')
);
request.send();
}
catch (e) {
print(e);
}

});
}

如您所见,我有一个包含列表的 MyObject。 “a”的列表元素有另一个列表。一般来说,在我的 main() 方法中,我从我们的 WebService 获取一些 protobuf 数据。在我的 onDataLoaded 中,我将二进制字符串转换回可读格式。现在,我创建 MyObject 并通过我的响应通过一些循环用 ListElements 填充它。

在我的模板中,我想渲染结果。

它一直有效,直到第二个模板重复为止。我从 MyObject 中看到字符串 1 和 string2,还从列表中看到类型。但他没有向我显示列表的第二次重复?

有可能吗?还是我做了一些强制性的错误?

最佳答案

请参阅我上面的评论。可能只是浏览器拒绝呈现第二个模板的结果,因为它是 tr 内的 trHere's a JavaScript version切换到 td 后,您的代码似乎工作正常。

关于dart - 模板重复 模板重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116001/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com