is it possible nest/inner dom-if where the second dom-if depends on value oberseved from the first dom-if block
我仔细阅读了这些主题
当数据改变时,聚合物 1 嵌套在 dom-repeat 中的 dom-if 不更新
如何在 Polymer 中动态地将元素附加到 dom-if?
如何在自定义元素中访问 dom-if 的内容?
这可能与我的问题有关,但如果我能做我想做的事以及如何做,我没有找到任何线索。
在我的公司,有多个流程,每个流程对应每个业务流程,流程的每一步都是一个屏幕,编码为 Polymer 1 Web 组件。它们都被包裹在定义路由的根 Polymer 组件中。
一个简单的例子是:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | my-root-component: <dom-module id="my-root-component"> <template> <first-obrigatiory-page which-route={aValueReturnedFromFirstComponent}></first-obrigatiory-page> <template is="dom-if" if="[[_isTrueFunction(aValueReturnedFromFirstComponent)]]" restamp> <second-page which-sub-route={aValueReturnedFromSecondComponent}></second-page> <template is="dom-if" if="[[_isTrueFunction(aValueReturnedFromSecondComponentComponent)]]" restamp> <third-page ></third-page> </template> </template> </template> Polymer({ is: 'my-root-component', behaviors: [doesntMatterHere], properties: { |
第一个 dom-if 按预期工作,但第二个似乎没有考虑在内,我的第三页组件从未显示。
我检查过,_isTrueFunction(aValueReturnedFromSecondComponent) 的等效项返回 true。
我通常在 dom-ifs 不更新时设置变量的观察者,以便我可以查看它们是否真的改变了,然后通过控制台自己设置变量
一种解决方法可能是使用事件,但您所做的应该可以工作。