使用Angular.js的ui-bootstrap将一个页面导航到另一个页面时出现以下错误。
O(n)
我正在解释下面的代码。
Error: [$compile:nonassign] http://errors.angularjs.org/1.4.6/$compile/nonassign?p0=%24state.current.name%20%3D%3D'principal.myplanManagement.myPlan'&p1=uibTab
at Error (native)
at http://oditek.in/Gofasto/js/angularjs.js:6:416
at q (http://oditek.in/Gofasto/js/angularjs.js:74:45)
at l (http://oditek.in/Gofasto/js/angularjs.js:74:120)
at Object.<anonymous> (http://oditek.in/Gofasto/js/angularjs.js:116:15)
at n.$digest (http://oditek.in/Gofasto/js/angularjs.js:130:71)
at n.$apply (http://oditek.in/Gofasto/js/angularjs.js:133:236)
at HTMLAnchorElement.<anonymous> (http://oditek.in/Gofasto/js/angularjs.js:253:36)
at HTMLAnchorElement.m.event.dispatch (https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js:4:8549)
at HTMLAnchorElement.r.handle (https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.
当我移动到添加MyPlan页面时,我会在控制台中收到此类错误。请帮我解决此错误。
答案 0 :(得分:1)
您无法在active
属性中添加表达式,因为它不可分配。
您需要一个新的变量/对象来定义哪些标签处于活动状态。
$scope.tab3 = $state.current.name === 'principal.myplanManagement.myWDS';
active="tab3"
或
$scope.tabs = {
1: ($state.current.name === 'principal.myplanManagement.myTimeTable'),
2: ($state.current.name === 'principal.myplanManagement.myPlan'),
3: ($state.current.name === 'principal.myplanManagement.myWDS')
};
active="tabs[1]"