2016-08-22 49 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"

相關問題