将参数传递给自定义组件

Pass arguments to custom component

我创建了组件,使用它会很好 ;) 但我不知道如何使用 传递参数;

使用:

<Page xmlns="http://www.nativescript.org/tns.xsd"
      xmlns:masterMenu="includes/customComponents/masterMenu">
    <masterMenu:masterMenu selected="1"/>
</Page>

如何在组件中捕获 selected?目前我只有 masterMenu.xmlmasterManu.css 个文件。


[编辑]

假设我有一个名为 question 的组件(伪代码):

xml

< StackLayout loaded="loaded">

< Label text="Question: loremipsum" />
< Label text="Answer 1" id="answer1" />
< Label text="Answer 2" id="answer2"/>
< Label text="Answer 3" id="answer3"/>

< /StackLayout>

js

exports.loaded = function(args) {

var answerNo = args.answerNo,
    page = args.object;

page.getElementById(page, "answer"+answerNo).addClass('correct') 

}

使用 :

< Page xmlns="http://www.nativescript.org/tns.xsd" xmlns:question="includes/customComponents/question">

< question:question answerNo="2" />

< question:question answerNo="1" />
< question:question answerNo="3" />

< /Page>

在您的 javascript 中,您可以这样访问它:

var menu = page.getViewById("idOfMenuComponent");
menu.selected;

这是假设它可以访问。这完全取决于您如何创建此组件。如果它不可用,您需要将 属性 添加到您的组件中。查看 <Button> 模块,了解如何做到这一点。