使用Angular ui-bootstrap时出错:[$ compile:nonassign]

时间:2015-11-18 11:20:30

标签: angularjs angular-ui-bootstrap

使用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页面时,我会在控制台中收到此类错误。请帮我解决此错误。

1 个答案:

答案 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]"