在boilerplatejs zip中,有一个带有两个子组件的示例组件(salesDashBoard)(chartViewPanel和treeViewPanel) 父组件定义了一个带有两个带有ids #tree和#chart的div的view.html,但子组件被附加到此视图,而不是在这两个div中呈现。
有没有办法(可能有一个DomController?)将子组件附加到特定的DOM元素而不是仅仅附加它们?这将是非常有用的,理想情况下我希望有一个Dom / Url控制器的层次结构:父母会拦截事件然后将它们路由到孩子,直到孩子路由一个事件(对于一组特定的url / dom事件)一个带有MVVM的简单组件。
答案 0 :(得分:1)
在定义的div之外的UI渲染实际上是一个错误,现在是fixed。
是的,您可以将子视图模板附加到特定的DOM元素。 Boiler.ViewTemplate
接受父参数,您必须传递需要呈现的DOM元素。
至于问题的第二部分,您需要的是contexts
的层次结构。您可以将控制器层次结构保留在UI组件上。只需将所有UI组件转换为子模块即可。这意味着每个UI组件都有一个module.js
文件,并且是父模块的子文件。例如,查看application.js
以了解如何使用Base.Context.loacChildContexts()
方法加载其子模块。
您可以在"产品模块"下阅读有关此概念的更多信息。 BoilerplateJS website
部分