在 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"
?
我想使用人力车模块在我的应用程序中创建图表。我按照此处的说明进行操作但没有成功: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"
?