我正在使用部分模板在ASP.NET中創建一個Angular應用程序。當我選擇菜單並單擊「員工」時,控制器調用Web服務並返回正確的JSON數據,並將其存儲在$scope.message
中。我在屏幕上顯示$scope.message
,並且一切正常。我正在嘗試在包含圖的Angular中注入部分模板
但是,我想將$scope.message
作爲數據源提供給存儲在名爲employees.html
的部分模板中的D3plus boxplot圖形。它似乎沒有工作。也許我犯了一個明顯的錯誤,並會非常感謝社區的幫助。謝謝!下面是畝代碼:
WebForm1.aspx的(網絡表單):
...
<body onload="loadPikaday()" data-ng-app="Demo">
<%-- Header --%>
<div id="topBanner" class="topBanner">
<div id="menu" class="menu">
Report from:  
<input id="startDate" size="6" type="text" data-ng-model="startDate" />   To  
<input id="endDate" size="6" type="text" data-ng-model="endDate" /> 
<%-- Dropdown menu --%>
<div class="dropdown">
<button onclick="myFunction()" class="dropbtn">MENU</button>
<div id="myDropdown" class="dropdown-content">
<a href="#/cases">Cases</a>
<a href="#/protocols">Protocols</a>
<a href="#/employees">Employees</a>
</div>
</div>
</div>
</div>
<%-- Where html is injected--%>
<div data-ng-view=""></div>
</body>
...
myScript.js(角模塊):
/// <reference path="angular.min.js" />
var app = angular.module("Demo", ['ngRoute'])
.config(function ($routeProvider) {
$routeProvider
.when('/cases', { // Root: initialize with cases
templateUrl: 'templates/cases.html',
controller: 'casesController'
})
.when('/protocols', { // Root: initialize with cases
templateUrl: 'templates/protocols.html',
controller: 'protocolsController'
})
.when('/employees', {
templateUrl: 'templates/employees.html',
controller: 'employeesController'
})
})
.controller('casesController', function ($scope) {
$scope.message = "Cases!";
})
.controller('protocolsController', function ($scope) {
$scope.message = "This is the protocols page!";
})
.controller('employeesController', function ($scope, $http) {
$http.get('dataWebService.asmx/getTotalForDateIntervalEmployees', {
params: { startDate: '2015-01-01', endDate: '2016-08-01' }
})
.then(function (response) {
$scope.message = response.data;
})
});
employees.html(注射部分模板):
<!doctype html>
<meta charset="utf-8">
<script src="//d3plus.org/js/d3.js"></script>
<script src="//d3plus.org/js/d3plus.js"></script>
<div id="viz"></div>
<script>
var data = {{message}};
var visualization = d3plus.viz()
.container("#viz")
.data(data)
.type("box")
.id("name")
.x("building")
.y("total")
.time(false)
.ui([{
"label": "Visualization Type",
"method": "type",
"value": ["scatter", "box"]
}])
.draw()
</script>
非常感謝您的幫助!我正在嘗試學習AngularJS,但在那裏呆了很長時間!我真的很感激你的時間! :d – Johnathan