在 angular 中设置变量

Set variable in angular

我想使用人力车模块在我的应用程序中创建图表。我按照此处的说明进行操作但没有成功:http://ngyewch.github.io/angular-rickshaw/#/home 这是我的 html :

<rickshaw
            rickshaw-options="options1"
            rickshaw-features="features"
            rickshaw-series="series1">
        </rickshaw>

这是我的控制器:

app.controller('GraphsController', function ($scope ) {
    $scope.options1 = {
        renderer: 'area'
    };
    $scope.series1 = [{
            name: 'Series 1',
            color: 'steelblue',
            data: [{x: 0, y: 23}, {x: 1, y: 15}, {x: 2, y: 79}, {x: 3, y: 31}, {x: 4, y: 60}]
        }, {
            name: 'Series 2',
            color: 'lightblue',
            data: [{x: 0, y: 30}, {x: 1, y: 20}, {x: 2, y: 64}, {x: 3, y: 50}, {x: 4, y: 15}]
        }];
});

有人知道我做错了什么吗? 谢谢!

看来您可能需要在 <rickshaw> 标签上指定控制器。像这样添加这个属性标签:

<rickshaw ng-controller="GraphsController"
          rickshaw-options="options1"
          rickshaw-features="features1"
          rickshaw-series="series1">
</rickshaw>

请注意,我现在已将 ng-controller 属性添加到 <rickshaw> 上的标签,并将您在 JavaScript 中定义的控制器的名称指定为它的值。希望这对您有所帮助!

-- 编辑--

因此,经过一些调查后,我会提出一些建议。第一个已经在另一个答案中指出,请确保您在属性标签中使用 = 而不是 ==

其次,确保您使用了控制器作用域对象中的正确变量名。我注意到您正在使用 features,但它看起来不像是在控制器中的任何地方指定的。可能不会引起任何问题,但需要注意一些事情。

最后,我猜测问题是在您的模块规范中,您没有包含 angular-rickshaw 模块。在实例化 angular 应用程序的地方,必须包含 angular-rickshaw 模块,如下所示:

var app = angular.module('myGraphApp', ['angular-rickshaw']);

没有这个,人力车模块将不会被包含在内,任何事情都将无法进行。这是 plunker 中的一个工作示例:http://plnkr.co/edit/cKumiX7kYc90gNA2jdZW?p=preview

希望这能解决您的问题!

可能是rickshaw-options="options1"而不是rickshaw-options=="options1"