- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 angularjs 新手,正在尝试创建我的第一个指令。我正在创建一个指令来将 Charts.js2.0(beta) 加载到我的应用程序中。
我有 2 个由 Angular-route 管理的 View ,两个 html View 都包含了一个仅包含图表元素的 html 页面。
问题是第一页正确绘制图表,当我转到其他 View 时,图表 div 已加载,但图表未重新绘制。现在,如果我返回到第一次查看其空白。
链接到Plunker
我做错了什么?我的指令有问题吗?
提前致谢。
最佳答案
图表库修改根范围上的现有对象似乎存在问题,因此之后将永远忽略它。我无法真正追踪到底是什么在做,但这里有一个修复程序:http://plnkr.co/edit/jDQFV62FSeXAQJ6o7jE8
这就是你所拥有的
scope.$watch('config', function(newVal) {
if(angular.isDefined(newVal)) {
if(charts) {
charts.destroy();
}
var ctx = element[0].getContext("2d");
charts = new Chart(ctx, scope.config);
//scope.$emit('create', charts);
}
});
在上面,您可以看到您将 scope.config
直接传递到图表方法中。这似乎以某种方式修改了数据,并且由于它是通过引用传递的,因此您实际上正在修改 $rootScope.sales.charts
。如果您复制该对象并在本地使用它(如下所示),则不会出现此问题。
这是我修复它的方法。
scope.$watch('config', function(newVal) {
var config = angular.copy(scope.config);
if(angular.isDefined(newVal)) {
if(charts) {
charts.destroy();
}
var ctx = element[0].getContext("2d");
charts = new Chart(ctx, config);
//scope.$emit('create', charts);
}
});
您可以看到,我们没有直接传入该对象,而是使用 Angular 进行复制(angular.copy()
),这就是我们传入的对象。
关于Angularjs - Charts.js : Same chart element doesn't redraw on other view,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33709263/
我有一个带有 events.load 函数的图表,该函数根据图表属性绘制一些线条。 加载功能完全按照我的意愿工作,但我想在每次重新绘制图表时删除并重新绘制线条(例如隐藏系列)。 我在 chart.ev
我有一个基本的 UWP 应用程序,其中嵌入了 WebView,可呈现相当大的 HTML 文档(最多 500 个信纸大小的打印页面)。 我想添加对打印该 HTML 文档的支持。这是我的方法: 为了支持分
每次我选择一个 m 适配器时,我都想重新绘制我的图表,第一次绘制的图表看起来很完美,但是当我选择一个并返回时,看起来它绘制了两次相同的图表。 这是我的源代码: public class MainA
您好,我有一个下拉菜单,每当我更改下拉菜单中的选项时,我想更改 Canvas 中的内容...例如 var paper = Raphael("myDivID",400,400); function sm
我已经编写了一个带有 NSview 和按钮的窗口。当程序启动时,窗口中会出现一个点。按下按钮后,应该会出现另外三个点,但代码不会重绘窗口。如果我在绘图函数内设置断点,我发现代码仅在绘图函数中第一次停止
我正在尝试将属性更改为自定义 LinearLayout 类,我将选项设置为类: MyBuilder option = new MyBuilder.Builder() .image(...) .setC
我正在为我的应用程序使用一些矢量图形 (.png)。在 photoshop 中,我可以放大并始终看到简单几何形状(如圆形)的完美清晰边界。但是,在我的 iPhone 上,我的相同图形看起来参差不齐且粗
我是 cocoa 新手。我以为我可以将 UITableViewCell 背景 View 设置为我自己的自定义子类,以便在单元格的背景中显示加载栏,但当我想更新该栏时,调用 setNeedsDispla
CoreData 返回 BOOL 值,根据该值我在 UITableViewCell accessoryView 上绘制了一个 UILabel。问题是 UILabel 也在它根本不应该出现的单元格上重复
我正在编写一个从 HealthKit 获取步数数据并在屏幕上显示统计数据的应用程序。我有一个带有委托(delegate)协议(protocol)功能的 viewcontoller: func user
我目前正在使用新版本的 OpenLayers OL3 升级 OpenLayers 客户端版本 2.13.1。我的设置包括作为 WMS map 服务器的 Mapserver 和前面提到的 OpenLay
我正在使用 morris.js 图表和 Bootstrap slider 。 我想做什么: 如果移动了 slider ,我想在图表中 slider 值的位置插入一条事件线。没什么特别的。 问题: 设置
本文整理了Java中gov.nasa.worldwind.WorldWindow.redraw()方法的一些代码示例,展示了WorldWindow.redraw()的具体用法。这些代码示例主要来源于G
我正在使用 Highcharts 3.0.2 我有一个 div#chart 和两个 js 变量,var options1 = {...}, options2 = {...}。它们包含不同的 highc
我正在使用 Highcharts,我想在用户点击图表标签时触发一些事件。只要我不重绘,它就可以正常工作。当我使用 chart.redraw() 时,不再触发点击事件这是一个 fiddle :https
我有一个带有图片框的表单,它显示图片和在图片框的 Paint 事件处理程序中绘制的一些叠加层。叠加层根据鼠标移动更新自身(基本上改变叠加层不同部分的不透明度)。 目前,我正在从鼠标移动处理程序调用 p
我正在使用基于 View 的 NSTableView,它使用其中包含多个控件的自定义单元格 View 。其中一个控件是纯图像 NSButton,它要么显示复选标记图像,要么根本不显示图像。此外,当我将
我正在制作条形图。它显示了各州的流感疫苗接种率。通过单击图例,您可以在每个州的人口统计之间切换,太棒了! 但是,需要双击图例才能重绘。单击一次即可成功消除条形,但需要第二次单击才能重新绘制它们。 工作
我有一个向导(org.apache.wicket.extensions.wizard.Wizard),它有一个AjaxButton作为其下一个按钮。 我正在对下一个按钮的 onSubmit() 方法执
我是 angularjs 新手,正在尝试创建我的第一个指令。我正在创建一个指令来将 Charts.js2.0(beta) 加载到我的应用程序中。 我有 2 个由 Angular-route 管理的 V
我是一名优秀的程序员,十分优秀!