• TypeError: Error #1006: value 不是函数。


    1、错误原因

    TypeError: Error #1006: value 不是函数。
    	at BasicChart/dataFunc()[E:Flash BuilderMapsrcBasicChart.mxml:68]
    	at mx.charts.chartClasses::Series/cacheDefaultValues()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesSeries.as:1260]
    	at mx.charts.series::LineSeries/updateData()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsseriesLineSeries.as:1188]
    	at mx.charts.chartClasses::Series/validateData()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesSeries.as:1950]
    	at mx.charts.series::LineSeries/describeData()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsseriesLineSeries.as:1273]
    	at mx.charts.chartClasses::DataTransform/describeData()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesDataTransform.as:282]
    	at mx.charts.chartClasses::AxisBase/describeData()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesAxisBase.as:238]
    	at mx.charts.chartClasses::NumericAxis/get dataDescriptions()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesNumericAxis.as:1264]
    	at mx.charts.chartClasses::NumericAxis/autoGenerate()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesNumericAxis.as:1281]
    	at mx.charts.chartClasses::NumericAxis/updateCache()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesNumericAxis.as:974]
    	at mx.charts.chartClasses::NumericAxis/update()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesNumericAxis.as:1108]
    	at mx.charts.chartClasses::NumericAxis/getLabelEstimate()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesNumericAxis.as:833]
    	at mx.charts::AxisRenderer/measureLabels()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsAxisRenderer.as:2056]
    	at mx.charts::AxisRenderer/calcRotationAndSpacing()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsAxisRenderer.as:1701]
    	at mx.charts::AxisRenderer/adjustGutters()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartsAxisRenderer.as:1565]
    	at mx.charts.chartClasses::CartesianChart/updateAxisLayout()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesCartesianChart.as:2182]
    	at mx.charts.chartClasses::CartesianChart/updateDisplayList()[E:dev4.0.0frameworksprojectsdatavisualizationsrcmxchartschartClassesCartesianChart.as:1391]
    	at mx.core::UIComponent/validateDisplayList()[E:dev4.0.0frameworksprojectsframeworksrcmxcoreUIComponent.as:8531]
    	at mx.managers::LayoutManager/validateDisplayList()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:663]
    	at mx.managers::LayoutManager/doPhasedInstantiation()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:718]
    	at mx.managers::LayoutManager/doPhasedInstantiationCallback()[E:dev4.0.0frameworksprojectsframeworksrcmxmanagersLayoutManager.as:1072]

    2、错误原因

    <?xml version="1.0" encoding="utf-8"?>
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
    			   xmlns:s="library://ns.adobe.com/flex/spark" 
    			   xmlns:mx="library://ns.adobe.com/flex/mx"
    			   width="100%" height="100%" fontSize="12"
    			   fontFamily="微软雅黑">
    	<s:layout>
    		<s:BasicLayout/>
    	</s:layout>
    	<fx:Script>
    		<![CDATA[
    			import mx.charts.ChartItem;
    			import mx.charts.chartClasses.IAxis;
    			import mx.charts.chartClasses.Series;
    			import mx.charts.series.items.LineSeriesItem;
    			import mx.collections.ArrayCollection;
    			import mx.events.FlexEvent;
    			import mx.graphics.Stroke;
    			
    			[Bindable]
    			//折线图数据绑定
    			private var lineArray:ArrayCollection = new ArrayCollection([
    				{seasons:"春季",rate:"0.48677"},
    				{seasons:"夏季",rate:"0.122343232"},
    				{seasons:"秋季",rate:"0.5657645"},
    				{seasons:"冬季",rate:"0.67484889"}
    			]);
    			
    			/**
    			 * 设置折线图中比率的位数
    			 */
    			public function myDataFunction(series:Series, item:Object, fieldName:String):Object 
    			{
    				var temp:Number = item.rate;
    				var number:String = formatter.format(temp);
    				return number;
    			}  
    			
    			public function myFillFunction(item:ChartItem, index:Number):String
    			{
    				var curItem:LineSeriesItem = LineSeriesItem(item);
    				var num:String = formatter.format(curItem.yNumber);
    				return num;
    			}
    			
    			public function myFilterFunction(item:Object):String 
    			{
    				var temp:Number = item.rate;
    				var number:String = formatter.format(temp);
    				return number;
    			}
    
    			public function myDataFunction1(series:Series, item:Object, fieldName:String):Object 
    			{
    				if (fieldName == 'yValue')
    					return(formatter.format(item.rate));
    				else if (fieldName == "xValue")
    					return(formatter.format(item.seasons));
    				else
    					return null;
    			}
    			
    			private function dataFunc(series:LineSeries,item:Object,fieldName:String):String 
    			{
    				var df:NumberFormatter = new NumberFormatter();
    				df.precision = "2";
    				df.rounding = "up";
    				var temp:Number = Number(item.rate.toFixed(2));
    				return df.format(temp);
    			}
    			
    			private function linearAxis_labelFunc(item:Object, prevValue:Object, axis:IAxis):String 
    			{ 
    				return formatter.format(item); 
    			}   
    		]]>
    	</fx:Script>
    	<fx:Declarations>
    		<mx:NumberFormatter id="formatter" precision="2" rounding="up"/>
    	</fx:Declarations>
    	
    	<mx:VBox width="100%" height="100%" paddingBottom="10" paddingLeft="10" paddingRight="15"
    			 paddingTop="10" horizontalAlign="center">
    		<mx:LineChart id="line" width="100%" height="90%" dataProvider="{lineArray}" showDataTips="true">
    			<mx:horizontalAxis>
    				<mx:CategoryAxis categoryField="seasons" displayName="四季"/>
    			</mx:horizontalAxis>
    			
    			<mx:horizontalAxisRenderers>
    				<mx:AxisRenderer placement="bottom" tickLength="1" tickStroke="{new Stroke(0xFF0000,1)}"
    								 axisStroke="{new Stroke(0xFF0000,1)}">
    					<mx:axis>
    						<mx:LinearAxis id="bottomAxis"/>
    					</mx:axis>
    				</mx:AxisRenderer>
    			</mx:horizontalAxisRenderers>
    			
    			<mx:verticalAxisRenderers>
    				<mx:AxisRenderer placement="left" tickLength="1" tickStroke="{new Stroke(0xFF0000,1)}"
    								 axisStroke="{new Stroke(0xFF0000,1)}">
    					<mx:axis>
    						<mx:LinearAxis id="leftAxis"/>
    					</mx:axis>
    				</mx:AxisRenderer>
    			</mx:verticalAxisRenderers>
    			
    			<mx:series>
    				<mx:LineSeries verticalAxis="{leftAxis}" displayName="比率" xField="seasons" yField="rate"
    							  dataFunction="dataFunc"/>
    			</mx:series>
    			
    			<mx:filters>
    				<fx:Array/>
    			</mx:filters>
    		</mx:LineChart>
    		<mx:Legend dataProvider="{line}"/>
    		
    	</mx:VBox>
    </s:Application>
    

    3、解决办法

  • 相关阅读:
    iOS崩溃治理--基础设施篇
    iOS崩溃治理--开篇
    AFNetworking 源码解读
    NSURLSession使用, 后台下载
    iOS10 越狱, openSSH
    iOS 私有API调用
    IOS 中openGL使用(使用基准图快速制作滤镜)
    IOS 中openGL使用教程4(openGL ES 入门篇 | 离屏渲染)
    IOS 中openGL使用教程3(openGL ES 入门篇 | 纹理贴图(texture)使用)
    SSM整合配置文件的主要内容
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13314793.html
Copyright © 2020-2023  润新知