我目前正在尝试对嵌套路由进行验收测试,该路由使用相同的组件两次,但具有不同的参数。当我正常运行它时,效果很好,但是当我运行验收测试时,我注意到组件的参数没有更新,这导致我的测试失败。这是一些示例代码:
In index.hbs
I have:
{{index-view model=model type='location'}}
My index-view
组件看起来像这样:
<h1>{{title}} List</h1>
{{listing-table model=model type=type}}
通过单击中的一个元素listing-table
,然后我去locations.show
路线,其中包含link-to
the locations.show.devices
路线。这locations.show.devices
路线包含:
{{listing-table model=model.devices type='device' exclude='locationName'}}
然而,在我的验收测试中,我可以看到(通过在组件的 javascript 中回显这些属性)model
and type
正在更新中,exclude
始终设置为最初调用组件时设置的值。
现在,我已经检查过(通过console.log()
)无论组件是否被重用,我都可以看到init ()
and didDestroyElement ()
被调用两次,这意味着组件的整个生命周期经历两次。但是,我真的无法理解为什么我的exclude
参数根本没有更新,为什么这只在验收测试时发生?
(当然它适用于 Twiddle,但不适用于现实生活!)。
{{listing-table model=model.devices type='device' exclude='locationName'}}
你传递了一定的值"locationName"
(字符串)不链接到该属性.locationName
的 组件 . (我是关于周围的引号locationName
)
你知道吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)