1

鉴于下面我从Google Charts复制粘贴的代码,(我刚刚删除了html,headbody标签)。如果我简单地将它添加到我的页面中,此代码的性能非常好index.html,条形图显示得很好。

但是,如果我将此代码作为ng-viewandrouteProvider机制调用的 html 部分插入,则根本不会显示图表,并且控制台不会引发错误。

你知道我应该检查什么吗?

<div>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
    google.load("visualization", "1", {packages:["corechart"]});
    google.setOnLoadCallback(drawChart);
    function drawChart() {
        var data = google.visualization.arrayToDataTable([
            ['Year', 'Sales', 'Expenses'],
            ['2004',  1000,      400],
            ['2005',  1170,      460],
            ['2006',  660,       1120],
            ['2007',  1030,      540]
        ]);

        var options = {
            title: 'Company Performance',
            hAxis: {title: 'Year', titleTextStyle: {color: 'red'}}
        };

        var chart = new google.visualization.ColumnChart(document.getElementById('chart_div'));
        chart.draw(data, options);
    }
</script>

<div id="chart_div" style="width: 900px; height: 500px;"></div>
</div>

我使用 angularjs 1.2 rc2。

4

1 回答 1

3

原因是模板中写的内联javascript没有在里面解析ng-view。这是一种奇怪的行为,我知道的唯一解决方案更加奇怪。在包含之前包含普通的 jquery 脚本,angular.js并且...现在<script>标签被解析。魔法。

如果有人知道对这一事实的可靠解释,我会全神贯注。

于 2013-10-04T20:36:50.197 回答