当我尝试执行以下操作时,出现以下错误:
Controller :
function MyCtrl($scope) {
angular.forEach(document.querySelectorAll(".q"), function(val, key) {
(function(key, val) {
console.log(val.getAttribute("ng-class").replace(/\{{([ind]+)\}}/g, key));
})(key, val);
});
}
.ng-invalid {
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="">
<div ng-controller="MyCtrl">
<div ng-class="{x:{{ind}}<id,y:{{ind}} >id, z :{{ind}} == id}" class="q"></div>
<div ng-class="{x:{{ind}}<id,y:{{ind}} >id, z :{{ind}} == id}" class="q"></div>
</div>
</div>
上面的代码在控制台中打印得很好,完美地替换了 {{ind}} 值,但是当应用程序执行时,我收到以下错误:
Syntax Error: Token '<' not a primary expression at column 7 of the expression [{x:id,] starting at [{4}].
最佳答案
我认为 Angular 试图告诉你必须将 div 作为字符串传递。
关于javascript - 语法错误: Token '<' not a primary expression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40812356/