Javascript 角应用程序路径不工作
目前我有一个AngularJS网络应用程序,它的工作原理和我想要的完全一样。我创建了一个加号按钮/链接。我希望用户能够点击该按钮/链接,并被带到另一个类似的页面。它将有精确的布局和几乎完全相同的控制器,只是拉不同的数据。我相信我已经正确设置了路线,但当我点击按钮/链接时,它不会做任何事情,也不会带我去任何地方 有人能帮我弄清楚我的路线是错误的还是其他原因吗 我的索引文件和钻孔文件位于同一目录中 Index.htmlJavascript 角应用程序路径不工作,javascript,html,angularjs,angular-route-segment,Javascript,Html,Angularjs,Angular Route Segment,目前我有一个AngularJS网络应用程序,它的工作原理和我想要的完全一样。我创建了一个加号按钮/链接。我希望用户能够点击该按钮/链接,并被带到另一个类似的页面。它将有精确的布局和几乎完全相同的控制器,只是拉不同的数据。我相信我已经正确设置了路线,但当我点击按钮/链接时,它不会做任何事情,也不会带我去任何地方 有人能帮我弄清楚我的路线是错误的还是其他原因吗 我的索引文件和钻孔文件位于同一目录中 Index.html {{prop.date} {{r[prop2.title]} drill.h
{{prop.date}
{{r[prop2.title]}
drill.html
{{prop.date}
{{r[prop2.title]}
app.js
var-app=angular.module('rcr_sched',['ngRoute']);
app.config(['$routeProvider',
函数($routeProvider){
$routeProvider
。当(“/”{
templateUrl:'index.html',
控制器:“主”
})
。当(“/drill”{
templateUrl:'drill.html',
控制员:“训练”
})
//。否则({重定向到:'/'});
}
]);
//范围错误:超过最大调用堆栈大小
应用控制器('main',函数($scope){
$scope.data=[];
$scope.columns=[];
$scope.currentDate=新日期();
$scope.calculateDate=函数(){
var x=新日期();
返回{
“MonThisWk”:{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()-(x.getDay()-1)),标题:'MonThisWk'},
“TueThisWk”:{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()-(x.getDay()-2)),标题:'TueThisWk'},
“WedThisWk”:{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()-(x.getDay()-3)),标题:'WedThisWk'},
'ThuThisWk':{date:newdate(x.getFullYear(),x.getMonth(),x.getDate()-(x.getDay()-4)),title:'ThuThisWk'},
'FriThisWk':{date:新日期(x.getFullYear(),x.getMonth(),x.getDate()-(x.getDay()-5)),标题:'FriThisWk'},
'MonNextWk':{date:newdate(x.getFullYear(),x.getMonth(),x.getDate()+7-(x.getDay()-1)),title:'MonNextWk'},
'TueNextWk':{date:newdate(x.getFullYear(),x.getMonth(),x.getDate()+7-(x.getDay()-2)),title:'TueNextWk'},
'WedNextWk':{date:新日期(x.getFullYear(),x.getMonth(),x.getDate()+7-(x.getDay()-3)),标题:'WedNextWk'},
'ThuNextWk':{date:newdate(x.getFullYear(),x.getMonth(),x.getDate()+7-(x.getDay()-4)),title:'ThuNextWk'},
'FriNextWk':{date:newdate(x.getFullYear(),x.getMonth(),x.getDate()+7-(x.getDay()-5)),title:'FriNextWk'},
'Mon2Wks':{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()+14-(x.getDay()-1)),标题:'Mon2Wks'},
“Tue2Wks”:{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()+14-(x.getDay()-2)),标题:'Tue2Wks'},
“Wed2Wks”:{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()+14-(x.getDay()-3)),标题:'Wed2Wks'},
'Thu2Wks':{date:newdate(x.getFullYear(),x.getMonth(),x.getDate()+14-(x.getDay()-4)),title:'Thu2Wks'},
'Fri2Wks':{日期:新日期(x.getFullYear(),x.getMonth(),x.getDate()+14-(x.getDay()-5)),标题:'Fri2Wks'}
}
}
$scope.isPTO=函数(行标题、标题、值){
if(rowttitle==(ptottitle.replace('PTO','')&&value){
返回“背景色:#32CD32;”;
}
返回“”;
}
功能打印(elem){
弹出($('').append($(elem.clone()).html());
}
功能弹出窗口(数据)
{
var mywindow=window.open(“”,'my div','height=400,width=600');
mywindow.document.write('mydiv');
mywindow.document.write(“”);
mywindow.document.write(“”);
mywindow.document.write(数据);
mywindow.document.write(“”);
mywindow.print();
//mywindow.close();
返回true;
}
$scope.dateOptions=$scope.calculateDate();
$scope.getColor=函数(团队排名、团队、道具){
让今天=新日期();
如果(道具=='Team'| |道具=='TeamMember')
{
如果(团队==‘未分配’)
{
返回“灰色类”;
}
否则,如果(团队=‘金牌一号’)
{
返回“goldClass”;
}
else if(团队=='Red One'| |团队=='Red Two')
{
返回“redClass”;
}
else if(团队==‘蓝色一号’| |团队==‘蓝色二号’){
返回“blueClass”
}
否则,如果(团队==“绿色一号”)
{
返回“绿色等级”;
}
其他的
{
返回“灰色类”;
}
}
如果(项目=='MonThisWk'| |项目=='Mon2Wks')
{
如果(今天。getDay()==1)
{
返回“highlightClass”;
}
}
如果(道具=='Tuethiswks'| |道具=='Tue2Wks')
{
如果(今天。getDay()==2)
{
返回“highlightCla”
<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="app.css" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet">
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/domo.js"></script>
<script src="js/app.js"></script>
</head>
<body ng-app="rcr_sched" ng-controller="main">
<div id="mydiv">
<table>
<tr>
<th id="printc"><button id="print" class="fa fa-print fa-2x" onclick="print('#mydiv')"></button></th>
<th ng-repeat="prop in columns">{{prop.date}}</th>
</tr>
<tr ng-repeat="r in data">
<td id="linkc">
<a href="#/drill">
<i class="fa fa-plus-square" aria-hidden="true"></i>
</a>
</td>
<td align="center" ng-repeat="prop2 in columns" class="{{getColor(r.TeamRank, r.Team, prop2.title)}}" style="{{isPTO(prop2.title, 'PTO' + prop2.title, r['PTO' + prop2.title])}}">
{{r[prop2.title]}}
</td>
</tr>
</table>
</div>
</body>
</html>
<html>
<head>
<link rel="stylesheet" type="text/css" media="all" href="app.css" />
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet" integrity="sha384-wvfXpqpZZVQGK6TAh5PVlGOfQNHSoD2xbE+QkPxCAFlNEevoEH3Sl0sibVcOQVnN" crossorigin="anonymous">
<link href="https://fonts.googleapis.com/css?family=Roboto:400,700" rel="stylesheet">
<script src="js/angular.js"></script>
<script src="js/angular-route.js"></script>
<script src="js/domo.js"></script>
<script src="js/app.js"></script>
</head>
<body ng-controller="drill">
<div id="mydiv">
<table>
<tr>
<th id="printc"><button id="print" class="fa fa-print fa-2x" onclick="print('#mydiv')"></button></th>
<th ng-repeat="prop in columns">{{prop.date}}</th>
</tr>
<tr ng-repeat="r in data">
<td id="linkc">
<a href="/">
<i class="fa fa-plus-square" aria-hidden="true"></i>
</a>
</td>
<td align="center" ng-repeat="prop2 in columns" class="{{getColor(r.TeamRank, r.Team, prop2.title)}}" style="{{isPTO(prop2.title, 'PTO' + prop2.title, r['PTO' + prop2.title])}}">
{{r[prop2.title]}}
</td>
</tr>
</table>
</div>
</body>
</html>
var app = angular.module('rcr_sched',['ngRoute']);
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider
.when('/',{
templateUrl: 'index.html',
controller: 'main'
})
.when('/drill',{
templateUrl: 'drill.html',
controller: 'drill'
})
// .otherwise({redirectTo: '/'});
}
]);
//Range Error: Maximum call stack size exceeded
app.controller('main', function ($scope) {
$scope.data = [];
$scope.columns = [];
$scope.currentDate = new Date();
$scope.calculateDate = function() {
var x = new Date();
return {
'MonThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 1)), title:'MonThisWk'},
'TueThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 2)),title:'TueThisWk'},
'WedThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 3)),title:'WedThisWk'},
'ThuThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 4)),title:'ThuThisWk'},
'FriThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 5)),title:'FriThisWk'},
'MonNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 1)),title:'MonNextWk'},
'TueNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 2)),title:'TueNextWk'},
'WedNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 3)),title:'WedNextWk'},
'ThuNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 4)),title:'ThuNextWk'},
'FriNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 5)),title:'FriNextWk'},
'Mon2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 1)),title:'Mon2Wks'},
'Tue2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 2)),title:'Tue2Wks'},
'Wed2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 3)),title:'Wed2Wks'},
'Thu2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 4)),title:'Thu2Wks'},
'Fri2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 5)), title:'Fri2Wks'}
}
}
$scope.isPTO = function(rowTitle, ptoTitle, value) {
if (rowTitle == (ptoTitle.replace('PTO', '')) && value) {
return 'background-color: #32CD32;';
}
return '';
}
function print(elem){
Popup($('<div/>').append($(elem).clone()).html());
}
function Popup(data)
{
var mywindow = window.open('', 'my div', 'height=400,width=600');
mywindow.document.write('<html><head><title>my div</title>');
mywindow.document.write('<link rel="stylesheet" href="http://www.dynamicdrive.com/ddincludes/mainstyle.css" type="text/css" />');
mywindow.document.write('</head><body>');
mywindow.document.write(data);
mywindow.document.write('</body></html>');
mywindow.print();
// mywindow.close();
return true;
}
$scope.dateOptions = $scope.calculateDate();
$scope.getColor = function(teamRank, team, prop) {
let today = new Date();
if (prop == 'Team' || prop == 'TeamMember')
{
if (team == 'Unassigned')
{
return "grayClass";
}
else if (team == 'Gold One')
{
return "goldClass";
}
else if (team == 'Red One' || team == 'Red Two')
{
return "redClass";
}
else if (team == 'Blue One' || team == 'Blue Two') {
return "blueClass"
}
else if (team == 'Green One')
{
return "greenClass";
}
else
{
return "grayClass";
}
}
if(prop == 'MonThisWk' || prop == 'Mon2Wks')
{
if(today.getDay() == 1)
{
return "highlightClass";
}
}
if(prop == 'TueThisWk' || prop == 'Tue2Wks')
{
if(today.getDay() == 2)
{
return "highlightClass";
}
}
if(prop == 'WedThisWk' || prop == 'Wed2Wks')
{
if(today.getDay() == 3)
{
return "highlightClass";
}
}
if(prop == 'ThuThisWk' || prop == 'Thu2Wks')
{
if(today.getDay() == 4)
{
return "highlightClass";
}
}
if(prop == 'FriThisWk' || prop == 'Fri2Wks')
{
if(today.getDay() == 5)
{
return "highlightClass";
}
}
}
domo.get('data/v1/master?fields=Team,TeamMember,TotalJobs,NDD,Past,MonThisWk,TueThisWk,WedThisWk,ThuThisWk,FriThisWk,MonNextWk,TueNextWk,WedNextWk,ThuNextWk,FriNextWk,Mon2Wks,Tue2Wks,Wed2Wks,Thu2Wks,Fri2Wks,FutureDates,PTOMonThisWk,PTOTueThisWk,PTOWedThisWk,PTOThuThisWk,PTOFriThisWk,PTOMon2Wks,PTOTue2Wks,PTOWed2Wks,PTOThu2Wks,PTOFri2Wks,PTOMonNextWk,PTOTueNextWk,PTOWedNextWk,PTOThuNextWk,PTOFriNextWk&groupby=TeamRank,Team,TeamMember&orderby=TeamRank')
.then(function(data){
$scope.data = data;
for (prop in data[0]) {
if ($scope.dateOptions[prop]) {
var newDate = $scope.dateOptions[prop];
var formattedProp = {date: (newDate.date.getMonth() + 1).toString() + '/' + newDate.date.getDate().toString(), title: newDate.title};
}
else {
var formattedProp = {date: prop, title: prop};
}
$scope.columns.push(formattedProp);
}
$scope.$apply();
})
});
app.controller('drill', function ($scope) {
$scope.data = [];
$scope.columns = [];
$scope.currentDate = new Date();
$scope.calculateDate = function() {
var x = new Date();
return {
'MonThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 1)), title:'MonThisWk'},
'TueThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 2)),title:'TueThisWk'},
'WedThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 3)),title:'WedThisWk'},
'ThuThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 4)),title:'ThuThisWk'},
'FriThisWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() - (x.getDay() - 5)),title:'FriThisWk'},
'MonNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 1)),title:'MonNextWk'},
'TueNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 2)),title:'TueNextWk'},
'WedNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 3)),title:'WedNextWk'},
'ThuNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 4)),title:'ThuNextWk'},
'FriNextWk': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 7 - (x.getDay() - 5)),title:'FriNextWk'},
'Mon2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 1)),title:'Mon2Wks'},
'Tue2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 2)),title:'Tue2Wks'},
'Wed2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 3)),title:'Wed2Wks'},
'Thu2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 4)),title:'Thu2Wks'},
'Fri2Wks': {date: new Date(x.getFullYear(), x.getMonth(), x.getDate() + 14 - (x.getDay() - 5)), title:'Fri2Wks'}
}
}
$scope.isPTO = function(rowTitle, ptoTitle, value) {
if (rowTitle == (ptoTitle.replace('PTO', '')) && value) {
return 'background-color: #32CD32;';
}
return '';
}
function print(elem){
Popup($('<div/>').append($(elem).clone()).html());
}
function Popup(data)
{
var mywindow = window.open('', 'my div', 'height=400,width=600');
mywindow.document.write('<html><head><title>my div</title>');
mywindow.document.write('<link rel="stylesheet" href="http://www.dynamicdrive.com/ddincludes/mainstyle.css" type="text/css" />');
mywindow.document.write('</head><body>');
mywindow.document.write(data);
mywindow.document.write('</body></html>');
mywindow.print();
// mywindow.close();
return true;
}
$scope.dateOptions = $scope.calculateDate();
$scope.getColor = function(teamRank, team, prop) {
let today = new Date();
if (prop == 'Team' || prop == 'TeamMember')
{
if (team == 'Unassigned')
{
return "grayClass";
}
else if (team == 'Gold One')
{
return "goldClass";
}
else if (team == 'Red One' || team == 'Red Two')
{
return "redClass";
}
else if (team == 'Blue One' || team == 'Blue Two') {
return "blueClass"
}
else if (team == 'Green One')
{
return "greenClass";
}
else
{
return "grayClass";
}
}
if(prop == 'MonThisWk' || prop == 'Mon2Wks')
{
if(today.getDay() == 1)
{
return "highlightClass";
}
}
if(prop == 'TueThisWk' || prop == 'Tue2Wks')
{
if(today.getDay() == 2)
{
return "highlightClass";
}
}
if(prop == 'WedThisWk' || prop == 'Wed2Wks')
{
if(today.getDay() == 3)
{
return "highlightClass";
}
}
if(prop == 'ThuThisWk' || prop == 'Thu2Wks')
{
if(today.getDay() == 4)
{
return "highlightClass";
}
}
if(prop == 'FriThisWk' || prop == 'Fri2Wks')
{
if(today.getDay() == 5)
{
return "highlightClass";
}
}
}
domo.get('data/v1/master?fields=Team,TeamMember,JobNumber,CM,Status,SLDD,MonThisWk,TueThisWk,WedThisWk,ThuThisWk,FriThisWk,MonNextWk,TueNextWk,WedNextWk,ThuNextWk,FriNextWk,Mon2Wks,Tue2Wks,Wed2Wks,Thu2Wks,Fri2Wks,FutureDates,PTOMonThisWk,PTOTueThisWk,PTOWedThisWk,PTOThuThisWk,PTOFriThisWk,PTOMon2Wks,PTOTue2Wks,PTOWed2Wks,PTOThu2Wks,PTOFri2Wks,PTOMonNextWk,PTOTueNextWk,PTOWedNextWk,PTOThuNextWk,PTOFriNextWk&groupby=TeamRank,Team,TeamMember&orderby=TeamRank')
.then(function(data){
$scope.data = data;
for (prop in data[0]) {
if ($scope.dateOptions[prop]) {
var newDate = $scope.dateOptions[prop];
var formattedProp = {date: (newDate.date.getMonth() + 1).toString() + '/' + newDate.date.getDate().toString(), title: newDate.title};
}
else {
var formattedProp = {date: prop, title: prop};
}
$scope.columns.push(formattedProp);
}
$scope.$apply();
})
});