2016-04-15 49 views
3

我正在研究需要在每个页面上具有相同指令的应用程序。 不幸的是,它没有按预期工作。angularjs - 无法从不同的页面调用相同的指令

比方说,我打开应用程序和访问页面ID = 1个

与ID = 1加载页面时,我点击指令,一切按预期工作。

现在,我变更页和我去页面ID = 2

像以前一样,页面加载和我点击“指令”,但没有任何反应。

如果现在我回到页面ID = 1,该指令在该页面中打开。

基本上,我认为更改页面足以让指令在新页面上重新呈现,但显然它不是。

的index.html:

<my-directive></my-directive> 

directive.coffee:

angular.module('myApp', [ 'ionic' ]).directive 'myDirective', -> 
    { 
    restrict: 'E' 
    scope: 
    mode: '@mode' 
    replace: true 
    templateUrl: 'templates/template.html' 
    } 

我已经在这里创造一个笔:http://codepen.io/anon/pen/Xdqrve?editors=1010

任何帮助吗?

回答

3

您的问题类似复选框name和标签for的值。

你必须改变mode参数是这样的:

<mode-selector mode="1"></mode-selector> <mode-selector mode="2"></mode-selector> <mode-selector mode="3"></mode-selector>

和追加mode在复选框名&标签ID:

<input type="checkbox" href="#" class="menu-open" name="menu-open-{{mode}}" id="menu-open-{{mode}}"/> 
<label class="menu-open-button" for="menu-open-{{mode}}"> 
    <i class="zone-details-current-mode icon-mode-{{mode}}"></i> 
    <span class="hamburger hamburger-1"></span> 
    <span class="hamburger hamburger-2"></span> 
    <span class="hamburger hamburger-3"></span> 
</label> 
+0

谢谢!这解决了我的问题。我使用ID而不是模式,因为我肯定会有相同的模式,而ID是唯一的。再次感谢 – Nick

+0

不客气! – FSou1

相关问题