有很多时间来找出错误的出处。
在按钮上,我有ng-click="goUrl('L_1001_1008_1113')"
在控制器中(ClubCtrl)是:
$scope.goUrl = function(id) {
console.log("HereA - "+id) ;
$location.url('/tab/clubs/'+id) ;
console.log("HereB - "+id) ;
}
当我单击按钮时,我在控制台中收到此错误:
HereA-L_1001_1008_1113
HereB-L_1001_1008_1113
ionic.bundle.js:20306错误:[$ parse:ueoe]意外结束表达:俱乐部。http://errors.angularjs.org/1.3.13/$parse/ueoe?p0=club.
at ionic.bundle.js:8762 at Parser.consume (ionic.bundle.js:20747) at Parser.identifier (ionic.bundle.js:20778) at Parser.fieldAccess (ionic.bundle.js:20975) at Parser.primary (ionic.bundle.js:20701) at Parser.unary (ionic.bundle.js:20970) at Parser.multiplicative (ionic.bundle.js:20953) at Parser.additive (ionic.bundle.js:20944) at Parser.relational (ionic.bundle.js:20935) at Parser.equality (ionic.bundle.js:20926)
[我只有一个地方使用club
-它在detail-club.html
模板页面和该页面控制器(ClubDetailCtrl
)中。我的状态更改器是:
.state('tab.clubs', {
cache: true,
url: '/clubs',
params: {
'refreshClubs' : 0,
'pushAction' : 0,
'pushSub' : null,
'pushMsg' : null,
'pushCode' : null
},
views: {
'tab-clubs': {
templateUrl: 'templates/tab-clubs.html',
controller: 'ClubCtrl'
}
}
})
.state('tab.club-detail', {
url: '/clubs/:ceID',
views: {
'tab-clubs': {
templateUrl: 'templates/detail-clubs.html',
controller: 'ClubDetailCtrl'
}
}
})
[目前,我已经注释掉ClubDetailCtrl
中的所有内容,而console.log("HereC");
试图隔离该错误。但是“ HereC”永远不会在控制台中触发。因此,我知道问题不在ClubDetailCtrl
中发生。
错误消息很可怕,并且没有指出实际触发它的原因。这是什么错误,更重要的是如何找到它?
错误会从包含按钮的模板页面变成错误吗?还是从按钮试图重定向到的模板页面变成它?重定向页面/控制器是仅有club
的唯一内容,但是我想控制器控制台消息HereC
会在模板页面引起错误之前触发。那还能在哪里呢?
.state('tab.club-detail', {
url: '/clubs/:ceID',
views: {
'tab-clubs': {
template: `<div>DETAIL-CLUBS</div>`,
controller: function() {
console.log("details controller init");
}
}
}
})
我已经在上面的链接/ URL加载中向模板页面添加了新的HTML。新的HTML代码应该通过引用{{club.}}
来打印出可读的描述-显然我没有添加所有代码,应该是{{club.ceDesc}}
-这导致抛出错误,没有页面正在加载,没有其他迹象表明这是错误的来源。似乎是在prevoius页面上的ng-click或.state.
url调用中抛出了错误。