Angularjs動態載入ECharts(一)
今早發現,directive寫的echarts元件,雖然能夠獲取到Controller中的資料,但是當我使用$http請求到的資料,想傳到directive卻總是獲取不到,知道這是非同步問題,圖表載入後,資料才請求到,所以圖表載入不了資料
解決方法
使用ng-if
,判斷,如果有資料才顯示,完美解決
<realtem-data ng-if="data" id="temdata" legend="legend" item="item" data="data"></realtem-data>
其餘程式碼
controller程式碼
app.controller("temdataCtrl", function($scope, $http, $log) {
$http({
method: "get",
url: "http://..:3000/tem",
headers: {
"content-type": "application/json"
}
}).then(function(req) {
// console.log(req.data)
$scope.data = req.data
})
})
directive程式碼
app.directive('realtemData', function() {
return {
scope: {
id: "@",
data: "="
},
restrict: 'E',
template: '<div class="real-data-charts"></div>',
replace: true,
link: function($scope, element, attrs, controller) {
var option = {
color: ['#CD3700'],
tooltip: {
trigger: 'axis',
axisPointer: { // 座標軸指示器,座標軸觸發有效
type: 'shadow' // 預設為直線,可選為:'line' | 'shadow'
}
},
legend: {
data: ['溫度'],
},
label: {
normal: {
show: true
}
},
grid: {
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: [{
type: 'category',
data: [1, 2, 3, 4, 5],
axisTick: {
alignWithLabel: true
}
}],
yAxis: [{
type: 'value'
}],
series: [{
name: '溫度',
type: 'line',
barWidth: '60%',
data: $scope.data
}]
};
var myChart = echarts.init(document.getElementById($scope.id), 'macarons');
myChart.setOption(option);
}
};
});
注意
發現如果多個資料的話,可能這麼操作會導致圖表上只有一個資料顯示
所以我把所有的資料都放到一個物件中,然後ng-if只判斷這個物件即可
相關文章
- echarts遷移圖動態載入Echarts
- AngularJS動態設定CSSAngularJSCSS
- echarts非同步載入Echarts非同步
- 關於angularjs的載入方式AngularJS
- DLL動態庫動態載入
- 動態載入的一些坑
- 動態載入UserControl
- echarts之靜態與動態地圖Echarts地圖
- python動態載入(三)Python
- QLibrary 載入動態庫
- vue 動態載入元件Vue元件
- goloader - golang動態載入Golang
- Java動態載入類Java
- echarts 主題動態切換Echarts
- 指令碼的動態載入指令碼
- 使用dlopen載入動態庫
- ListView動態載入資料View
- OrchardCore 如何動態載入模組?
- javascript如何動態載入js檔案JavaScriptJS
- vue如何動態載入本地圖片Vue地圖
- Android native層動態載入so庫Android
- 學習下ECharts 非同步載入資料Echarts非同步
- 一種Blazor開發模式下CSS的動態載入方法Blazor模式CSS
- echarts動態賦值結合dataZoom滑動資料Echarts賦值OOM
- 基於echarts非同步載入資料之多個series載入例項Echarts非同步
- vue中echarts的動態渲染資料watchVueEcharts
- 動態獲取一級分類下拉框,根據所選一級分類id動態載入二級分類載入至下拉框
- 啟動優化之動態庫延遲載入優化
- Drools與動態載入規則檔案
- SyntaxHighlighter 頁面動態js載入方式整理JS
- 載入動態連結庫——dlopen dlsym dlclose
- vue後臺管理之動態載入路由Vue路由
- 小程式中使用ECharts 非同步載入資料Echarts非同步
- AngularJS進階(三十八)上拉載入問題解決方法AngularJS
- vue 動態選單以及動態路由載入、重新整理採的坑Vue路由
- 移動端Echarts橫屏進入退出效果Echarts
- Protobuf 動態載入 .proto 檔案並操作 Message
- ElementUI級聯選擇器動態載入DemoUI
- Unity3D動態載入FBX檔案Unity3D