将参数传递给自定义组件
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.xml 和 masterManu.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>
模块,了解如何做到这一点。
我创建了组件,使用它会很好 ;) 但我不知道如何使用 传递参数;
使用:
<Page xmlns="http://www.nativescript.org/tns.xsd"
xmlns:masterMenu="includes/customComponents/masterMenu">
<masterMenu:masterMenu selected="1"/>
</Page>
如何在组件中捕获 selected
?目前我只有 masterMenu.xml 和 masterManu.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>
模块,了解如何做到这一点。