2016-11-25 1 views
0

私は以下を行うにしようとすると、私は以下のエラーを取得しています:構文エラー:トークン '<' ではない一次式

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}}の値を完全に置き換えてコンソール上で正常に表示されますが、アプリケーションが実行されるとベルOWエラー:

Syntax Error: Token '<' not a primary expression at column 7 of the expression [{x:id,] starting at [{4}].

+0

あなたは何をしようとしているのか説明できますか? – MiTa

+0

私のフィドルを見れば、あなたはそれを得ることができます...私はdivの値を{{ind}}に置き換えようとしています...

Shane

+1

私は大きな絵を意味しています - あなたは 'ng-class'を修正しようとしていますか?アプリケーションが実行されている間の式ですか? – MiTa

答えて

1

私は角と思うあなたは、文字列としてdiv要素を渡す必要があることを教えてしようとしています。

関連する問題