2015-07-19 16 views
11

Lỗi sau được hiển thị trong bảng điều khiển của tôi bất cứ khi nào trang của tôi tải.Lỗi không bắt buộc: Lỗi cú pháp, biểu thức không được công nhận: #/angularjs và jquery

"của router Lỗi: lỗi cú pháp, không được công nhận biểu: #/về"

Mã của tôi là như sau:

   <li class="active"> 
        <a href="/">Home</a> 
       </li> 
       <li class=""> 
        <a href="#/about" title="About Us">About</a> 
       </li> 
       <li class=""> 
        <a href="#/pricing">Pricing</a> 
       </li> 

Nó cho thấy cho tất cả các ví dụ ban đầu. Ban đầu, nó cho thấy #/về vì nó là đầu tiên, Nếu tôi loại bỏ về chúng tôi tab nó sẽ hiển thị cho liên kết trang giá cả.

nó không bootstrap vấn đề tab, này rất đơn giản chuyển hướng chỉ

Routing Mã trong app.js:

$routeProvider.when('/', { 
     templateUrl: 'partials/home.html' 
    }).when('/account', { 
     templateUrl: 'partials/account.html', 
    }).when('/terms', { 
     templateUrl: 'partials/terms.html' 
    }).when('/about', { 
     templateUrl: 'partials/about.html' 
    }).otherwise({ 
     redirectTo: '/' 
    }); 

Tôi có debug vấn đề của bootstrap, bootstrap nav gây ra vấn đề này: "nav navbar -nav " các bản sửa lỗi cho điều này là data-target =" # "nhưng muốn hoạt động phù hợp với điều này

+0

mã JS của bạn liên quan đến các tuyến đường là gì? – ryanlutgen

+0

Sử dụng 'About' –

+0

Đã thử rằng vẫn còn lỗi tương tự – ram

Trả lời

16

Đây có lẽ là vấn đề về Bootstrap nhất. Hãy thử sử dụng data-target thuộc tính trên các liên kết của bạn như thế này

<a href="#/about" data-target="#about" title="About Us">About</a> 
+0

Thành phần không phải về phương thức hoặc bootstrap của nó chỉ là liên kết điều hướng – ram

+2

. vấn đề bằng cách thêm data-target = "#" – ram

+1

Ok cho tất cả các tuyến ** ngoại trừ "/" **: 'a (href = '# /', data-target = '#')'. Cấu hình tuyến đường của tôi giống nhau: '$ routeProvider.when ('/', {templateUrl: /views/home/home.html '})'. Những gì tôi đang làm sai? –

4

Ok bạn gotta loại bỏ các dấu gạch chéo, '/' mà html của bạn sẽ trở thành,

<a href="#about" title="About Us">About</a> 

Nếu bạn muốn giữ lại các dấu gạch chéo, '/' bạn gotta sử dụng data-target thuộc tính như,

<a href="#/about" title="About Us" data-target="#about">About</a> 

Thông tin thêm về nó here

+0

Bạn đang đề cập đến các tab?- Nó không phải là một tab bootstrap, một liên kết bình thường của nó chỉ – ram

+0

Bạn đã thử chưa? Bạn đã đặt '

' ?? –

+0

Xin lỗi, bạn yêu cầu tôi đặt ng-view ở đâu, nó là tiêu đề và tôi đã sử dụng ng-include – ram

1

Đây có thể là một tình huống rất hiếm, nhưng tôi đã gặp lỗi tương tự vì một số mã cũ sử dụng Colorbox và location.hash.

jQuery(function() {jQuery('.content-row .csc-default a').tooltip({placement:'top'}); 
jQuery('a.gallery').colorbox({ 
    maxWidth:'95%', 
    maxHeight:'95%', 
    slideshow:true, 
    current:' {current}/{total}', 
    opacity:'0.80', 
    transition:'none', 
    speed:'550', 
    slideshowSpeed:'5500', 
    overlayClose:true, 
    fixed:false, 
    escKey:true, 
    arrowKey:true, 
    loop:true, 
    title: function() { return $(this).data('original-title')}, 
    close:'<span class="glyphicon glyphicon-remove"></span>', 
    previous:'<span class="glyphicon glyphicon-chevron-left"></span>', 
    next:'<span class="glyphicon glyphicon-chevron-right"></span>', 
    slideshowStart:'<span class="glyphicon glyphicon-play"></span>', 
    slideshowStop:'<span class="glyphicon glyphicon-pause"></span>', 
    rel: function() { return $(this).data('rel')} 
}); 
if (location.hash) $(location.hash).collapse('show'); //when this line is commented, Angular Route works properly 
}); 

Lạ một điều là lỗi đã xảy ra chỉ khi tải trang với liên kết để xem như localhost/index.html#/main hoặc đơn giản là tải lại trang với bất kỳ xem được chọn.

3

Sự cố này cũng xảy ra đối với 2 dự án góc cạnh. Tôi chỉ cần thêm data-target = "#" vào liên kết anchor. Nó giải quyết vấn đề của tôi.

<a data-target="#" [routerLink]="['/link']">my link</a>.

Các vấn đề liên quan