钛合金的ListView XML遗漏的类型错误:对象# 没有方法“createTemplate

2019-11-02 08:16发布

我是新来的钛,所以原谅我缺乏了解。

虽然我使用的SDK版本3.2(有SDK版本:3.2.0.v20130801162445在我tiapp.xml)当我尝试有使用XML视图上面我得到这个错误:[错误] [V8Exception(615) ]异常发生在合金/控制器/ feed.js:22:未捕获的类型错误:对象#没有方法“createTemplates”

我砍掉我所有的代码,以便feed.js文件仅仅是:

function loadMoreBtnClicked(_event) {
    alert('not implemented yet');
}


function createListView(_data) {
    // this is pretty straight forward, assigning the values to the specific
    // properties in the template we defined above
    var items = [];
    for (var i in _data) {

        // add items to an array
        items.push({
            template : "template1",            // set the template
            textLabel : {
                text : _data[i].name           // assign the values from the data
            },
            pic : {
                image : _data[i].pic_square    // assign the values from the data
            }
        });
    }

    // add the array, items, to the section defined in the feed.xml file
    $.section.setItems(items);

}

alert('feed loaded');

该XML是feed.xml,看起来像这样:

<Alloy>
    <Window class="container" formFactor="handheld">
        <ListView id="list" defaultItemTemplate="template1">
            <Templates>
                <ItemTemplate name="buttonItem" height="Ti.UI.SIZE">
                    <!-- will use this in the next blog post -->
                    <Button id="loadMoreBtn" onClick="loadMoreBtnClicked">Load More</Button>
                </ItemTemplate>
                <!-- main template for displaying the list items -->
                <ItemTemplate  id="template1" name="template1"  class="template1">
                    <ImageView id="pic"  bindId="pic" class="imageThumb"/>
                    <View id="textContainer">
                        <Label id="textLabel" bindId="textLabel" class="title"/>
                    </View>
                </ItemTemplate>
            </Templates>
            <!-- we only have one section and the items are contstucted using template1 -->
            <ListSection id="section" >
                <ListItem template="template1" />
            </ListSection>
        </ListView>
    </Window>
</Alloy>

我仍然得到错误(只使用具有比警戒行驶以外无实际控制代码XML)。 如果我拉的ListView XML出feed.xml的文件警告火灾,当我把ListView控件XML早在我得到上述错误。

我想从这个例子中使用的代码: https://gist.github.com/aaronksaunders/5896390 ,但不能真正告诉我缺少的是什么?

谢谢! -詹姆士

Answer 1:

发现了什么问题是,我的问题曾与没有所需要支持的ListView模板中的XML合金的更新版本做。 我需要在Windows中的命令行中运行以下命令:“故宫-g alloy@1.2.0-alpha安装”(不带引号)。 从那以后,我能够使用的ListView模板XML如上图所示。



文章来源: Titanium Alloy ListView XML Uncaught TypeError: Object # has no method 'createTemplates'