我有一些在 angularjs 1.2.0-rc.1、rc.2 和 rc.3 中工作的角度代码。但它在 1.2.0 和 1.2.1 中不起作用。
我已经在http://plnkr.co/edit/KBYFJQ2sZeOJ79Hid1gG上说明了这个问题
我的 HTML 是
<!DOCTYPE html>
<html ng-app="app">
<head>
<script data-require="angular.js@1.2.1" data-semver="1.2.1"
src="http://code.angularjs.org/1.2.1/angular.js"></script>
<link rel="stylesheet" href="style.css"/>
<script src="script.js"></script>
</head>
<body ng-controller="AppCtrl">
<ul>
<li ng-repeat="menuEntry in menuItems">
<a ng-href="#" ng-click="{{menuEntry.action}}">{{menuEntry.text}}</a>
</li>
</ul>
</body>
</html>
我的角码是
'use strict';
angular.module('app', [])
.controller('AppCtrl', function ($scope) {
var menuItems = [
{
text: "Log off",
action: 'logoff()'
}
];
var logoff = function () {
alert("logoff called")
};
$scope.menuItems = menuItems;
$scope.logoff = logoff;
});
如果我使用 1.2.0-rc.3 运行此代码,它运行时不会出错,并且当我单击链接时会收到一个警告框。但是如果我用 1.2.0 或 1.2.1 运行它,我会得到一个错误:
Error: [$parse:syntax] Syntax Error: Token 'menuEntry.action' is unexpected, expecting [:] at column 3 of the expression [{{menuEntry.action}}] starting at [menuEntry.action}}].
有人可以帮我解决这个问题吗?