2016-03-24 17 views
0

Diziler, bir dizi olan sözcükleri sıralayan bir programa sahibim. konsolda $ parse: syntax hatası alıyorum; Ancak, program doğru sonuçları yürütmekte ve geri getirmektedir. Bu soruna neden olan emin değilim. Etiketler ve Kitaplar gibi diğer özellikleri kullanarak kelimeleri sıralıyorum; Ancak, bu konsol hatası yalnızca bu dizilerdeki bazı örneklerle sunulmaktadır.

bu nasıl göründüğünü aşağıdaki gibidir: görünümünde kodu

{ 
"expression": "to the day", 
"meaning": "", 
"example": "it's been four years to the day.", 
"pronunciation": "", 
"notes": "", 
"meta": { 
"book": ["There and back again"], 
"author": ["Frodo Baggins"], 
"tags": ["middle earth"]} 
}, 

şöyle JSON olduğunu

angular.js:13236 Error: [$parse:syntax] Syntax Error: Token 'Baggins' is an unexpected token at column 7 of the expression [Frodo Baggins] starting at [Baggins]. 
http://errors.angularjs.org/1.5.0/$parse/syntax?p0=Baggins&p1=is%20an%20unexpected%20token&p2=7&p3=Frodo%20Baggins&p4=Baggins 
    at http://localhost:8080/node_modules/angular/angular.js:68:12 
    at Object.AST.throwError (http://localhost:8080/node_modules/angular/angular.js:13816:11) 
    at Object.AST.ast (http://localhost:8080/node_modules/angular/angular.js:13586:12) 
    at Object.ASTCompiler.compile (http://localhost:8080/node_modules/angular/angular.js:14040:31) 
    at Parser.parse (http://localhost:8080/node_modules/angular/angular.js:14927:29) 
    at $parse (http://localhost:8080/node_modules/angular/angular.js:15035:39) 
    at http://localhost:8080/node_modules/angular/angular.js:20463:17 
    at Array.map (native) 
    at processPredicates (http://localhost:8080/node_modules/angular/angular.js:20452:26) 
    at http://localhost:8080/node_modules/angular/angular.js:20416:22(anonymous function) @ angular.js:13236(anonymous function) @ angular.js:9965Scope.$digest @ angular.js:16682Scope.$apply @ angular.js:16928clickListener @ angular-material.js:14066defaultHandlerWrapper @ angular.js:3398eventHandler @ angular.js:3386 
angular.js:13236 Error: [$parse:syntax] Syntax Error: Token 'Baggins' is an unexpected token at column 7 of the expression [Frodo Baggins] starting at [Baggins]. 
http://errors.angularjs.org/1.5.0/$parse/syntax?p0=Baggins&p1=is%20an%20unexpected%20token&p2=7&p3=Frodo%20Baggins&p4=Baggins 
    at http://localhost:8080/node_modules/angular/angular.js:68:12 
    at Object.AST.throwError (http://localhost:8080/node_modules/angular/angular.js:13816:11) 
    at Object.AST.ast (http://localhost:8080/node_modules/angular/angular.js:13586:12) 
    at Object.ASTCompiler.compile (http://localhost:8080/node_modules/angular/angular.js:14040:31) 
    at Parser.parse (http://localhost:8080/node_modules/angular/angular.js:14927:29) 
    at $parse (http://localhost:8080/node_modules/angular/angular.js:15035:39) 
    at http://localhost:8080/node_modules/angular/angular.js:20463:17 
    at Array.map (native) 
    at processPredicates (http://localhost:8080/node_modules/angular/angular.js:20452:26) 
    at http://localhost:8080/node_modules/angular/angular.js:20416:22(anonymous function) @ angular.js:13236(anonymous function) @ angular.js:9965Scope.$digest @ angular.js:16682processQueue @ angular-material.js:1316(anonymous function) @ angular.js:18744completeOutstandingRequest @ angular.js:5804(anonymous function) @ angular.js:6081 

şu şekildedir: view

hatadır:

aşağıdaki gibi

denetleyicisi kod şudur:

function getBooks(classifieds) { 

     var books = []; 
     angular.forEach(classifieds, function(item) { 
      if (item.meta) {  
       angular.forEach(item.meta.book, function(b) { 

        books.push(b); 
       }); 
      } 

     }); 

     return _.uniq(books); 

    } 
+0

krom yüklemek ve onunla size sayfasını kullanın. hata ayıklamada hata tıklayabilirsiniz, açısal web sitesinde bir sayfa açılacaktır. Bu sayfa biraz açıklıyor – AlainIb

+1

Lütfen tüm JS Kodunuzu yazınız –

+0

'$ scope.books = getBooks (ilanlar);' bu, – Nosail

cevap

0

Basit cevap Bence - okumalısınız tarafından sipariş: | orderBy:'book' https://docs.angularjs.org/api/ng/filter/orderBy

+0

yukarıda gösterilen getBooks işlevini çağırır. evet tırnak içine ekledim. '' çalışma zamanı hatası yok. Ancak, Tag dizisindeki değerler şimdi alfabetik olarak sıralanmıyor. garip, ben tırnak içine ekledim önce onlar vardı. – Nosail

+0

kitabı tekliflere dahil değil - yukarıda belirtilen çalışma zamanı hatasını alıyordum; Ancak, değerler kitap listesinde alfabetik olarak sıralanmış/sıralanmıştır || Kitabın içinde yer alan alıntılar - yukarıda belirtilen çalışma zamanı hatasını alamıyorum; Ancak, şimdi değerler alfabetik olarak sıralanmakta/sıralanmamaktadır. Yanıtınıza ilk yorumumda – Nosail

+0

kastediyorum - ancak, BOOK dizisindeki (Etiket değil) değerler şimdi alfabetik olarak sıralanmış/sıralanmıyor. garip, ben tırnak içine ekledim önce onlar vardı. – Nosail

İlgili konular