2017-03-07 190 views
0

我有一個帶有多個自定義指令的網頁,在這個例子中有2個。每個指令都會加載一個HTML頁面,其上有幾個<a>標籤用於在SPA上進行路由。在我完成並測試一條指令後,我開始研究另一條指令,但無法使鏈接正常工作。 的指令執行負載與他們的<a>鏈接所需的網頁,BU的<a>鏈接不工作:AngularJs多個自定義指令失敗

<custom-directive-one></custom-directive-one> 
<custom-directive-two></custom-directive-two> 

在這種方式下,<custom-directive-two>工作得很好,這是我處理完第一個指令。 <custom-directive-one>不起作用。

直到我做這個

<custom-directive-one></custom-directive-one> 
<!-- <custom-directive-two></custom-directive-two> --> 

這樣<custom-directive-one>作品。

我正在使用AngularJs版本1.6.2。 請幫忙。

這裏是一個Plunker的例子,雖然不能讓它工作。 將不勝感激,如果有人可以告訴我爲什麼Plunker例如不工作:http://plnkr.co/edit/owbz2Yt9EXybTy9cfdsu?p=preview

+0

這將有助於瞭解每個指令中的內容。請創建一個例子(例如[plunker](http://plnkr.co),[jsfiddle](http://jsfiddle.net)等)。 –

+1

**描述問題**「不起作用」不是問題陳述。告訴我們預期的行爲應該是什麼。告訴我們錯誤信息的確切用詞是什麼,以及哪一行代碼正在生成它。在問題的標題中簡要概述問題。 – georgeawg

+0

預期的行爲,如果指令顯示它們鏈接到的HTML頁面的內容,並且它們顯示,並且這些頁面上的''標籤正常工作,這意味着將我鏈接到任何地方。他們不。除非我註釋掉其他指令。這是唯一的修改問題。還有ZORE錯誤。 – user7175478

回答

1

我做了一些更改您的代碼,包括使用組件,而不是一個指令,這是后角1.5推薦的做法。你基本上沒有正確地終止你的IIFE,拼寫錯了你的一個模板的名字,還有其他小問題。

(function(app) { 

    //var app = angular.module('mainModule'); 

    app.component('customDirectiveOne', { 
    templateUrl: 'linkListONE.html', 
    controller: 'ListOneController', 
    controllerAs: 'ctrl' 
    }); 

    app.component('customDirectiveTwo', { 
    templateUrl: 'linkListTWO.html', 
    controller: 'ListTwoController', 
    controllerAs: 'ctrl' 
    }); 

    app.controller('ListOneController', function() { 

    }); 
    app.controller('ListTwoController', function() { 

    }); 

})(app); 

下面是最終plunker

+0

謝謝,非常感謝。 – user7175478

+0

將指令更改爲解決它的組件。再次感謝。 – user7175478