2

boilerplatejs zip中,有一个带有两个子组件(chartViewPanel和treeViewPanel)的示例组件(salesDashBoard)父组件定义了一个view.html,其中包含两个ids为#tree和#chart的div,但子组件附加到此视图而不是在这两个 div 中呈现。

有没有办法(可能使用 DomController ?)将子组件附加到特定的 DOM 元素而不是仅仅附加它们?这将非常有用,理想情况下我希望有一个 Dom / Url 控制器的层次结构:父母会拦截事件,然后将它们路由给孩子,直到孩子将事件(对于一组特定的 url / dom 事件)路由到一个带有 MVVM 的简单组件。

4

1 回答 1

1

UI 在定义的 div 之外的渲染实际上是一个错误,现在已修复

是的,您可以将子视图模板附加到特定的 DOM 元素。Boiler.ViewTemplate接受一个 parent 参数,您必须传递需要在其中呈现它的 DOM 元素。

至于您问题的第二部分,您需要的是contexts. 您可以将控制器层次结构保留在 UI 组件上。只需将所有 UI 组件也转换为子模块。这意味着您的每个 UI 组件都将有一个module.js文件并且是父模块的子模块。例如application.js,看看它是如何使用方法加载其子模块的Base.Context.loacChildContexts()

你可以在BoilerplateJS 网站的“产品模块”部分阅读更多关于这个概念的信息

于 2013-01-17T04:38:17.373 回答