私はアプリケーションでチャート作成にangle-nvd3を使用しています。私は、カスタムディレクティブを作成して、ディレクティブからオプションを渡し、コントローラにディレクティブを設定しました。AngularJSディレクティブ - アトリビュート値をスコーププロパティにリンクする
ビュー:
<nvd3-bar-chart></nvd3-bar-chart>
指令
angular.module('app.graphs')
.directive('nvd3BarChart',
function() {
return {
restrict: 'E',
replace: true,
template: '<nvd3 options="nvd3_options" data="bar_data" api="api"></nvd3>',
link: function(scope) {
scope.nvd3_options = {
chart: {
type: 'discreteBarChart',....
bar_dataプロパティは、コントローラに設定されており、チャートが正常に動作します。しかし、コントローラー内のさまざまなデータプロパティにバインドするためにディレクティブを再利用したいと思います。
このようなものです。基本的に分離株スコープなしディレクティブ内のテンプレートに
//Temperature data would be set in controller
<nvd3-bar-chart data="temperature_data"></nvd3-bar-chart>
//Precipitation data would be set in controller
<nvd3-bar-chart data="precipitation_data"></nvd3-bar-chart>
おかげ
私はそれを試してみましたが、複数のディレクティブ[nvd3BarChart(モジュール:app.graphs)、nvd3]が新しい/隔離されたスコープを要求しました。 – ganeshran
マークアップを nvd3-bar-chart>のように、テンプレート内のデータ属性を設定することなく、完全に動作します。 しかし、パラメータに基づいて、新たなスコープを設定し、交換する –
ganeshran
を動作しません、私は申し訳ありません – Laurianti