当我尝试执行以下操作时,我收到以下错误:
控制器:
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}}值,但是当应用程序执行时我得到以下错误:
语法错误:令牌'&lt;'不是第7栏的主要表达 表达式[{x:id,]从[{4}]开始。
答案 0 :(得分:1)
我认为angular正试图告诉你必须将div作为字符串传递。