Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 改变<;模板>;(TemplateElement)以编程方式_Dart_Dart Polymer - Fatal编程技术网

Dart 改变<;模板>;(TemplateElement)以编程方式

Dart 改变<;模板>;(TemplateElement)以编程方式,dart,dart-polymer,Dart,Dart Polymer,回到我的问题上来 现在,我想在开始渲染之前以编程方式更改嵌套自定义元素的模板。可能吗 嗨,{{}}! 室内装修设计师 在index.html中: 在my_decorator.dart中: @覆盖 无效输入视图(){ super.enteredView(); ContentElement content=shadowRoot.querySelector('content'); MyElement elm=content.getDistributedNodes().firstWhere((e

回到我的问题上来

现在,我想在开始渲染之前以编程方式更改嵌套自定义元素的模板。可能吗


嗨,{{}}!
室内装修设计师
在index.html中:


在my_decorator.dart中:

@覆盖
无效输入视图(){
super.enteredView();
ContentElement content=shadowRoot.querySelector('content');
MyElement elm=content.getDistributedNodes().firstWhere((e)=>e是MyElement);
TemplateElement elm=elm.shadowRoot.querySelector(“#tml”);
//待办事项
//在这里更改模板!
}

为什么要更改模板?
attached()
之后的
super.attached()
中,元素已呈现

您可以使用
this.templateInstance
并尝试在
super.attached()
之前(或在构造函数中或在polymerCreated中)更改它。 我自己还没做过

更改渲染元素没有问题。

如果希望避免此更改可见,可以在最初设置一个(CSS)类,该类被定义为使元素不可见,并且在完成更改后,删除该类

原因就在这里。集合{{items}}是可观察列表,可以更改。因此,我需要更改此列表中所有新项目的视图。。更改模板会更简单。抱歉,我错过了您想要更改内部
的消息。使用
templateInstance
可以获得外部模板。但我还是不明白你为什么要更改模板。这不正是
repeat
的目的吗?