语法错误:令牌'<'不是主要表达

时间:2016-11-25 21:15:02

标签: javascript angularjs

当我尝试执行以下操作时,我收到以下错误:

https://docs.angularjs.org/error/$parse/syntax?p0=%3C&p1=not%20a%20primary%20expression&p2=7&p3=%7Bleft:%3Cimageid,right:%20%3Eimageid,

控制器:

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}]开始。

1 个答案:

答案 0 :(得分:1)

我认为angular正试图告诉你必须将div作为字符串传递。