我正在使用highcharts-ng Angular-JS指令在我的页面上绘制图表.
我希望能够更新控制器中的数据,并将这些值反映在图表中.但是,当我使用赋值更新$ scope变量时,例如:
$scope.chartData = [1, 2, 3];
Run Code Online (Sandbox Code Playgroud)
...然后图表不会更新.我可以更新图表的唯一方法是将值推送到数据中,例如:
$scope.chartData.push(4);
Run Code Online (Sandbox Code Playgroud)
...但是这仅在第一次执行时起作用.这是一个JS小提琴,显示我的意思:http://jsfiddle.net/K6hL8/
我是Angular的新手所以我想在我开始指责第三方指令之前检查我的Angular代码是否存在明显的问题(也许我误解了$ scope和双向绑定?).
提前致谢!
编辑:
所以看来(在这个小提琴中:http://jsfiddle.net/K6hL8/),Angular 确实看到了chartData中的变化(我已经把一个带有警报的手表放在上面),但只有在使用"true"调用watch时"为了平等.指令中的所有手表都使用'true',所以我很难过......
javascript highcharts angularjs angularjs-scope highcharts-ng
我正在尝试编写一个简单的Javascript(jQuery)函数,该函数随机显示6个Div.可能的11个.代码排序,它会随机显示大约一半的Div,但它在4到8之间变化.
谁能告诉我哪里出错了?它似乎应该如此简单但我完全迷失了!
我的代码:
<div class="offer">Offer 1</div>
<div class="offer">Offer 2</div>
... snip
<div class="offer">Offer 11</div>
<script src="query.min.js" type="text/javascript"></script>
<script>
var changed = 0;
while (changed < 6) {
$('.offer').each(function(index) {
if (changed < 6) {
var showOrNot = Math.floor(Math.random() * 2);
if (showOrNot == 1) {
$(this).addClass('offershow');
changed += 1;
$(this).text(changed); //debugging looking for the current value of changed
}
}
})
}
</script>
Run Code Online (Sandbox Code Playgroud) 我的页面上有两个jQueryUI日期选择器.
它们的初始化如下:
jQuery("#departureDate").datepicker({
beforeShow: function() {
getDatesForCalendar("outbound");
},
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
hideIfNoPrevNext: true,
onSelect: function(dateText, inst) { jQuery('#returnDate').datepicker("show"); }
});
jQuery("#returnDate").datepicker({
beforeShow: function() {
getDatesForCalendar("return");
},
numberOfMonths: 3,
constrainInput: true,
dateFormat: 'dd/mm/yy',
showButtonPanel: false,
showOn: "focus",
hideIfNoPrevNext: true,
defaultDate: +1
});
Run Code Online (Sandbox Code Playgroud)
在弹出之前,他们使用getDatesForCalendar()检查哪些日期可用,它们不包含应隐藏或显示日历的代码.
我的问题是,当第一个日历调用第二个日历时(这是onSelect),第二个日历闪烁一秒钟然后消失.这是一个仅限FF/Chrome的问题,它似乎不会影响IE8.
我已经尝试了很多解决方案,包括更改tabindex(现在根本没有),禁用焦点功能上的节目,最后不是手动调用datepicker("show")我尝试调用focus()它与之相关.什么都没有奏效!
任何意见将大大赞赏.
非常感谢,
插口