好吧我希望这不是蹩脚的问题,但我真的放弃了在网上搜索任何明确的如何做到这一点的例子。
这是最终结果目标:我只想显示xml节点的值,该节点是htmlText属性中的url。
我的方法很简单,获取mx:XML源并使用XMLListCollection引用源,在text属性中显示链接为htmlText =“{myDisp.selectedItem。@ link}” 这显示就好了。 那么我试着在AS脚本块中拉出相同的值,这样我就可以将链接的值和字符串文字连接成一个值来显示在htmlText属性中。
像这样...... “体验应用程序”;
我的挂机是,我无法弄清楚如何在AS中获得简单的价值,这样我就可以解决这个简单的问题。 :)
答案 0 :(得分:0)
您可以发布一些代码来说明您在做什么吗?所以你不能只引用组件的htmlText属性? - 您是否为要引用的组件分配了一个id,即myComponent.htmlText? 干杯, 卡斯帕
答案 1 :(得分:0)
非常感谢您回复我的帖子! 实际上,我在发布问题的第二天就知道了。 我会在这里发布代码,希望我可以传播快乐...... :)
代码 -
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
<mx:Script>
<![CDATA[
import mx.controls.Text;
import mx.events.ListEvent;
//New declarations: Get the link value from the database to display
//the link as hyperlink
// set the binding expression so it can be called as the link //
[Bindable]
public var myLink:String = link;
public var link:String;
public function getMyLink(event:Event):void
{
var link:String = flashDisp.selectedItem.@link;
getTheURL(link);
var myLink:String = link;
}
// get the link and assign it as the 'Friendly' URL //
public function getTheURL(link:String):void
{
link = "<a href=\"" + link + "\"target=\"_blank\">Visit the web site</a>";
myLink = link;
}
]]>
</mx:Script>
<mx:XML id="xml" source="data/galleryflash.xml" />
<mx:XMLListCollection id="myData" source="{xml.image}" />
<mx:TileList id="flashDisp"
dataProvider="{myData}"
itemRenderer="titleItemRenderer"
columnCount="2"
rowCount="4"
width="200"
color="#FEFFFF"
<!-- this is the trick to call the function -->
change="getMyLink(event)">
</mx:TileList>
<mx:Panel width="725" height="600" layout="absolute">
<mx:Image x="10" y="10" width="685" height="470" source="flashDisp.selectedItem.@fullImage}" scaleContent="false"
visible="{flashDisp.selectedItem}"/>
<mx:Text x="10" y="488"
<!-- this is the magic way to call the new dynamic link which is updated by selectedItem call and then displays it back as html-->
htmlText="{myLink}"
color="#FFFFFF" fontFamily="Arial" fontSize="14" condenseWhite="true">
</mx:Text>
</mx:Panel>
我的XML看起来像这样。
<gallery>
<image title ="My Title"
thumbnails = "imgs/thumbs/mylittlethumb.gif"
fullImage = "imgs/myFullImage.jpg"
link = "testLink1.html"/>
</gallery>
要制作itemRenderer,你需要这样的东西。 一个名为titleItemRenderer.mxml的文件(您可以将其创建为“新组件”。
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2008/03/08/creating-a-simple-image-gallery-with-the-flex-tilelist-control/ -->
<mx:VBox xmlns:mx="http://www.adobe.com/2006/mxml"
horizontalAlign="center"
verticalAlign="middle">
<mx:Image source="{data.@thumbnailImage}" />
<mx:Label text="{data.@title}" />
</mx:VBox>
祝你有美好的一天! 〜打蜡