2016-08-22 29 views
0

我有一个xml模板文件。我需要将它“变成”代码。添加一些属性,然后以编程方式添加到父容器。NaiveScript:如何使用xml文件构建模块,而不是模板字符串

XML模板(这是在真正的应用程序要复杂得多,这只是举例):

<StackLayout id="{{ 'recipe_' + recipe_id }}"> 
    <Label text="{{ title }}"/> 
    <Label text="{{ description }}"/> 
    <Button text="Choose" onTap="onRecipeBtnTap"/> 
</StackLayout> 

代码:

let recipeCard = builder.parse("~/templates/recipe.xml") //<-- problem here 
let slide = new slide.Slide() 
slide.addChild(recipeCard) 
slidesContainer.add(slide) 

的问题是,建造器模块需要XML字符串不一条路径。所以,我首先需要将xml文件转换为字符串。请告知这里最好的办法是什么。

回答

1

好的,发现如何做到这一点。需要使用文件系统模块:

let template = fs.File.fromPath(__dirname + '/templates/recipe.xml') 
let templateString = template.readTextSync() 
let recipeCard = builder.parse(templateString) 
0

您可以使用"ui/builder"和简单地调用它load()方法,并传递要加载XML的路径和名称。看看this示例,它展示了使用自己的代码加载XML(ts/js)的情况。欲了解更多信息,你可以参考documentation"ui/builder"

相关问题