- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在我的应用程序的下一版本中引入了一个问题,但我一生都看不到它是什么。
我有一个ng-repeat
列出了几个选项,每个选项都有一个按钮可以更详细地显示选项信息。每个选项都有一个带有如下链接的按钮:
ng-click="$location.url('/tab/clubs/L_1001_1001_1001')"
在我的 Controller 中,我正在分配导入的 $location
至:$scope.$location = $location ;
但当我点击链接时,我收到以下错误:
ionic.bundle.js:20306 Error: [$parse:ueoe] Unexpected end of expression: club. 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.
有关。不知怎的——但我不知道是什么。该错误意味着我缺少结束括号或大括号,但我运行了外部工具来检查所有语法,一切看起来都不错。
上面的链接是从tab-clubs.html
调用的( Controller :ClubCtrl)-整个页面呈现良好并且没有跟踪任何问题。该链接使用状态调用特定 Controller /模板:
.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("Here")
消息只是为了查看它是否进入 Controller ,但似乎没有。因此,在单击链接和调用 Controller 之间似乎有些令人窒息。
所以我将 $location.url(...) 移至 Controller 函数并将模板重新编码为:
ng-click="goUrl('L_' +event.cID+ '_' +event.clID+ '_' +event.ceID);"
Controller 中现在有:
$scope.goUrl = function(id) {
console.log("A: " +id) ;
$location.url("/tab/clubs/" +id) ;
console.log("B: " +id) ;
}
ng-click 正在触发并进入 Controller 功能,均为 console.log A
和B
正在显示 - 但仍然遇到相同的错误。然后我添加测试 console.log()
下一个 Controller 中的代码和测试控制台日志消息永远不会触发 - 因此它甚至不会进入 Controller 。
我还能如何追踪这个?
最佳答案
ERRONEOUS
ng-click="$location.url('/tab/clubs/L_{{event.cID}}_{{event.clID}}_{event.ceID}}')"
更好
ng-click="$location.url('/tab/clubs/L_'+ event.cID +'_'+ event.clID +'_'+ event.ceID)"
欲了解更多信息,请参阅
<小时/>通过创建 Controller 方法并从 View 中调用该方法来简化模板:
ng-click="onClick(event)"
$scope.onClick = function(event) {
var url = '/tab/clubs/L_'+ event.cID +'_'+ event.clID +'_'+ event.ceID;
$location.url(url);
};
这将使代码更易于理解、测试、调试和维护。
关于javascript - 如何跟踪不伦不类的 ueoe angularjs 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60255005/
我是一名优秀的程序员,十分优秀!