mmenu未在angularjs下初始化

时间:2014-04-06 20:37:41

标签: angularjs mmenu

我正在开发一个带左右抽屉的移动应用程序,使用mmenu(http://mmenu.frebsite.nl/)它工作正常,直到我决定动态填充正确菜单中的项目。我的应用程序基于angularjs,并且body中的angularjs的所有指令都正常工作,除了<nav id="menu-right">内的所有指令,不知道菜单定义中的angularjs指令是否执行。我不确定它是否与执行javascript的顺序有关。任何帮助将非常感激。谢谢!!

更新(4月7日)

jsfiddle中的一个例子http://jsfiddle.net/jmhostalet/wcK8L/

&#34;我的控制器说&#34;在身体上工作,但不是在mmenu,身体打印&#34;你好&#34;但在mmenu打印什么

2 个答案:

答案 0 :(得分:0)

您遇到的问题是:

  1. 首先,未包含在声明中
  2. 您正在更改DOM而没有角度知道它因为它没有机会编译大括号{{myCtrlVar}}
  3. 似乎 就像创建指令的额外工作一样,但从长远来看,您可以更多地重用代码。如果你像我一样并且有糟糕的javascript习惯;使用框架来保持正确是更好的。

    我的解决方案在下面的plunker中显示“一种方式”来做你要求的。将整个MMenu代码移植到角度模块以获得更多参数和控制将是有趣的。

    (从未听说过MMenu,但似乎是一个很酷的项目 - 我会更多地了解它。)

    Plunker

    (抱歉,我无法使用fiddler)

答案 1 :(得分:0)

您的小提琴在#menu-right上没有控制器初始化,但在他的兄弟元素上,因此{{myCtrlVar}}表达式无法访问控制器范围对象。