【问题标题】:Nancy - Super Simple View Engine : Nested @EachNancy - 超级简单的视图引擎:嵌套@Each
【发布时间】:2014-11-11 06:54:13
【问题描述】:

SSVE 是否支持嵌套迭代器?

我希望在我的 SSVE 视图中沿着对象图向下走(见下文),但我怀疑嵌套迭代器不是这里的方法。还有其他方法吗?

我知道 SSVE 是供内部使用的,而不是完全用于生产的,所以没问题,但我不想添加对 Razor 的引用并弄乱我的 web.config 文件,除非我绝对必须这样做。

嵌套迭代器视图(我的最佳猜测)

@Master['_Master']

@Section['Content']
    <h1>Assessment - @Model.survey.title</h1>
    @Each.survey.pages 
        <div>
            <h2>@Current.title</h2>
            @Each.questions
                <div>@Current.title</div>
            @EndEach
        </div>
    @EndEach
@EndSection

【问题讨论】:

    标签: nancy


    【解决方案1】:

    这个问题现在已经很老了,但仍然出现在 Google 上使用 Super Simple View Engine 嵌套每个的热门搜索结果中。万一其他人遇到这种情况,请知道对 Each 中的 Partial Views 的支持已添加到 SSVE。 (我已经用它来做这种视图嵌套——在集合中迭代集合。)

    所以你可以使用两个View来达到你想要的效果,其中最外面的看起来是这样的:

    @Master['_Master']
    
    @Section['Content']
        <h1>Assessment - @Model.survey.title</h1>
        @Each.survey.pages 
            <div>
                <h2>@Current.title</h2>
                @Partial['QuestionList', Current.questions]
            </div>
        @EndEach
    @EndSection
    

    然后另一个视图(SSVE 会找到名为 QuestionList 的视图)如下所示:

    @Each
        <div>@Current.title</div>
    @EndEach
    

    虽然它会导致很多文件,但您应该能够通过重复此模式来达到任意深度。

    【讨论】:

      【解决方案2】:

      不,这行不通 - SSVE 本质上只是一个正则表达式。它应该支持 each 中的局部,但目前不支持。

      【讨论】:

      • 一个嵌套的@Partial 就可以做到这一点......并且会导致关于视图的巧妙的关注点分离。你显然是一个忙碌的人,但你有什么计划让这个工作吗?
      • 计划,是的,时间,不 :-P 我希望将它纳入下一个 Nancy 版本,但我不能 100% 确定我是否能够做到。
      • 这个缺失的功能有什么进展吗?我希望添加了这个功能,并且这个问题只需要更新。
      • @Detroitpro 我相信 TheCodeJunkie 昨天完成了这项工作.. 虽然它还没有在 master 中。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 2018-09-13
      • 2020-01-15
      相关资源
      最近更新 更多