【问题标题】:Nativescript charts not displayingNativescript 图表不显示
【发布时间】:2018-11-15 04:13:21
【问题描述】:

我是 Nativescript 的新手,目前正在使用 javascript 开发 Nativescript 项目。我正在探索图表选项,并使用“tns 插件添加 nativescript-ui-chart”命令安装了 nativescript UI 图表。当我尝试显示一个简单的折线图时,我没有收到任何错误,但也没有显示任何内容。

这是我的 XML 文件:

<Page class="page coverImage" navigatingTo="onNavigatingTo" xmlns="http://schemas.nativescript.org/tns.xsd" xmlns:chart="nativescript-ui-chart">
<Label text="Test Charts Page"></Label>
<StackLayout>    
<Label text="Test"></Label>
     <chart:RadCartesianChart class="m-t-10" height="500">
      <chart:RadCartesianChart.series>
        <chart:LineSeries
          items="{{ animeData }}"
          categoryProperty="season"
          valueProperty="count">
          <chart:LineSeries.horizontalAxis>
            <chart:CategoricalAxis labelFitMode="Rotate" />
          </chart:LineSeries.horizontalAxis>
          <chart:LineSeries.verticalAxis>
            <chart:LinearAxis labelLayoutMode="Outer" />
          </chart:LineSeries.verticalAxis>
        </chart:LineSeries>
      </chart:RadCartesianChart.series>
    </chart:RadCartesianChart>
  </StackLayout>
</Page>

我的 javascript 文件:

   var frameModule = require("ui/frame");
var Observable = require("data/observable").Observable;  
var pageData = new Observable();
pageData.animeData = [
 { season: "1", count: 82 }, { season: "2", count: 36 }, { season: "3", count: 41 },
 { season: "4", count: 52 }, { season: "5", count: 65 }, { season: "6", count: 40 },
 { season: "7", count: 52 }, { season: "8", count: 54 }, { season: "9", count: 47 },
 { season: "10", count: 52 }, { season: "11", count: 52 }, { season: "12", count: 53 },
 { season: "13", count: 34 }, { season: "14", count: 48 }, { season: "15", count: 49 },
 { season: "16", count: 45 }, { season: "17", count: 48 }, { season: "18", count: 45 },
 { season: "19", count: 47 }
];
exports.pageLoaded = function(args) 
{
     var page = args.object;
     page.bindingContext = pageData;
};

我已将 nativescript-ui-chart 添加到 bundle.config 中,如下所示:

global.registerModule("nativescript-ui-chart",
        () => require("../node_modules/nativescript-ui-chart"))

Package.json:

   {
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "readme": "NativeScript Application",
  "repository": "<fill-your-repository-here>",
  "nativescript": {
    "id": "org.nativescript.pregapp4",
    "tns-ios": {
      "version": "4.0.1"
    }
  },
  "scripts": {
    "lint": "eslint \"app/**/*.js\""
  },
  "dependencies": {
    "nativescript-theme-core": "~1.0.4",
    "nativescript-ui-chart": "^3.9.1",
    "nativescript-ui-dataform": "^3.7.3",
    "nativescript-ui-listview": "^3.7.2",
    "nativescript-ui-sidedrawer": "^4.3.1",
    "tns-core-modules": "^5.0.2"
  },
  "devDependencies": {
    "eslint": "~4.9.0",
    "nativescript-dev-sass": "~1.5.0",
    "nativescript-dev-webpack": "~0.10.0",
    "webpack": "~3.10.0",
    "webpack-bundle-analyzer": "^2.9.1",
    "webpack-sources": "~1.1.0",
    "clean-webpack-plugin": "~0.1.19",
    "copy-webpack-plugin": "~4.3.0",
    "raw-loader": "~0.5.1",
    "css-loader": "~0.28.7",
    "nativescript-worker-loader": "~0.8.1",
    "resolve-url-loader": "~2.2.1",
    "extract-text-webpack-plugin": "~3.0.2",
    "uglifyjs-webpack-plugin": "~1.1.6",
    "sass-loader": "~6.0.6"
  }
}

在运行时我没有收到错误,但只是一个空白 - 不确定我错过了什么 - 任何帮助将不胜感激..

【问题讨论】:

    标签: nativescript


    【解决方案1】:

    看起来数据模型没有设置为 Observable。我已将代码更改为以下代码,因为它在 ios 上对我来说可以正常工作。

    var observableModule = require("tns-core-modules/data/observable");
    
    function HomeViewModel() {
      var viewModel = observableModule.fromObject({
        animeData: [
          { season: "1", count: 82 }, { season: "2", count: 36 }, { season: "3", count: 41 },
          { season: "4", count: 52 }, { season: "5", count: 65 }, { season: "6", count: 40 },
          { season: "7", count: 52 }, { season: "8", count: 54 }, { season: "9", count: 47 },
          { season: "10", count: 52 }, { season: "11", count: 52 }, { season: "12", count: 53 },
          { season: "13", count: 34 }, { season: "14", count: 48 }, { season: "15", count: 49 },
          { season: "16", count: 45 }, { season: "17", count: 48 }, { season: "18", count: 45 },
          { season: "19", count: 47 }
        ],
    
    
      });
    
      return viewModel;
    }
    
    module.exports = HomeViewModel;
    

    这里是操场link,如果你想添加一些东西的话。

    【讨论】:

      【解决方案2】:

      看来您的插件路径需要修复

      <Page class="page coverImage" navigatingTo="onNavigatingTo" xmlns="http://schemas.nativescript.org/tns.xsd" xmlns:chart="nativescript ui-chart">
      

      假设是

      <Page class="page coverImage" navigatingTo="onNavigatingTo" xmlns="http://schemas.nativescript.org/tns.xsd" xmlns:chart="nativescript-ui-chart">
      

      【讨论】:

      • 我在代码中确实将它作为 nativescript-ui-chart ,这似乎不是问题。
      • 请确保发布准确的示例代码,可能是 Playground 示例。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-13
      相关资源
      最近更新 更多