首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dotLiquid嵌套循环不工作

dotLiquid嵌套循环不工作
EN

Stack Overflow用户
提问于 2016-10-13 10:50:45
回答 1查看 1.6K关注 0票数 2

我已经创建了一个dotLiquid模板,其中嵌套了两个for循环

代码语言:javascript
复制
{% for item in page.Fields %}
        <li>
            {{ item.Name }}:
            <select>
                {% for list in item.ListValues %}
                    <option>{{ list.Text }} </option>
                {% endfor %}
            </select>
        </li>
    {% endfor %}

使用以下类:

代码语言:javascript
复制
public class Page: Drop
{
    public string Name { get; set; }
    public List<Field> Fields { get; set; }
}

public class Field : Drop
{
    public string Name { get; set; }
    public List<ListValue> ListValues { get; set; }
}

public class ListValue : Drop
{
    public string Text { get; set; }
}

然后我创建了一个对象,并像这样运行它:

代码语言:javascript
复制
page = MyPage; // This is the created object
Template template = Template.Parse(LiquidTemplate);
string output = template.Render(Hash.FromAnonymousObject(new { page = this.page }));

该对象填充为:

代码语言:javascript
复制
new Page
        {
            Name = "My Page",
            Fields = new List<Field>
            {
                new Field
                {
                    Name = "Title",
                    ListValues = new List<ListValue>()
                },
                new Field
                {
                    Name = "Status",
                    ListValues = new List<ListValue>
                    {
                        new ListValue
                        {
                            Text = "Open"
                        }
                    }
                }
            }

        };  

内部的for循环不会被填充,即使对象很好。我看到很多空的内部循环<option>标记...

我刚开始使用dotLiquid,我哪里做错了?

EN

回答 1

Stack Overflow用户

发布于 2016-10-15 02:05:03

这个解决方案来自dotliquid的开发人员(我在github project的问题列表中发布了相同的问题)

默认情况下,dotliquid使用ruby convention

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40011491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档