Actionscript 3 Flex 4.6使用组件中的绑定变量设置selectedChild=
我得到以下错误: 1067:将String类型的值隐式强制转换为不相关的mx类型。core:INavigatorContent 它位于我的主应用程序中设置selectedChild的行中= 以下是我在主应用程序中的viewstack代码:Actionscript 3 Flex 4.6使用组件中的绑定变量设置selectedChild=,actionscript-3,flash,apache-flex,flex4.6,Actionscript 3,Flash,Apache Flex,Flex4.6,我得到以下错误: 1067:将String类型的值隐式强制转换为不相关的mx类型。core:INavigatorContent 它位于我的主应用程序中设置selectedChild的行中= 以下是我在主应用程序中的viewstack代码: <mx:ViewStack id="mainViewStack" width="100%" height="100%" selectedChild="{topView
<mx:ViewStack id="mainViewStack"
width="100%" height="100%"
selectedChild="{topViewControlComponent.selectedChild}">
我的组件包含以下内容:
[Bindable]
public var selectedChild:String;
protected function changeView2(child:String):void
{
this.selectedChild = child;
}
<s:Button styleName="controlBarButton"
label="Events"
click="changeView2('userEvents');"/>
[Bindable]
公共变量selectedChild:String;
受保护的函数changeView2(子:字符串):无效
{
this.selectedChild=child;
}
当我将viewstack navigator内容库设置为selectIndex并使用一个整数时,我实现了这一点……效果很好。但是我宁愿通过导航器内容的id来调用它们,这样它们就不必按特定的顺序排列,如果可能的话。或者也许有更好的方法…谢谢你的帮助 ViewStack上的
selectedChild
属性将实际视图作为其参数,而不是视图的名称。将selectedIndex与int一起使用会很好,或者您可以在主应用程序中调用在id和视图实例之间映射的函数
编辑:正如您在评论中所说,您可以使用单击=“mainViewStack.selectedChild=userEvents”
根据需要设置视图
但是,问题中的代码是这样的:
click="mainViewStack.selectedChild='userEvents'"
不确定区别是什么(“将实际视图作为其参数,而不是视图的名称”),我可以使用此选项选择视图,例如:click=“mainViewStack.selectedChild=userEvents”(但仅当我在主应用程序中使用它时)。我想我只是被这个弄糊涂了……我一周前才开始使用Flex4.6
mainViewStack。selectedChild
必须是视图类型变量。您得到一个错误是因为您传入了一个字符串——即,只是您想要的视图的名称。好的,谢谢,这会稍微澄清一点。我必须去研究那个变量类型,然后找出我将如何做到这一点。再次感谢。在回答您的编辑:“但是,问题中的代码是这样的:单击=“mainViewStack.selectedChild='userEvents'””除非添加单引号,否则它不会工作,因此假设我需要它们。我所说的“行不通”是指,当我添加引号时,特定的一行显示了一个错误……但我明白你的意思……它是字面上的名称。