javascript - Wie stellen AngularJS-Anweisungen die API externen Controllern zur Verfügung?
伊谢尔伦2017-06-17 09:15:37
0
3
1434
<button>expand</button>
<my-menu></my-menu>
Ich möchte auf die Schaltfläche klicken, um sie zu erweitern. menu,但怎么将menu的API暴露出来给buttonWie verwende ich sie? Oder gibt es einen anderen besseren Weg?
不需要暴露什么API, 你只需要在指令上使用自定义属性进行数据双向绑定即可。
比如你需要显示隐藏,你就在指令上使用一个display属性,例如:
然后在你的控制器中去控制这个值,比如
当然指令中你只需要指定双向绑定的属性即可;
你可以在写my-menu指令的时候,指定一个双向绑定属性,比如collapse,然后通过<my-menu collapse="val"></my-menu>这样使用,然后通过button的ng-click事件控制val变量(true/false)就可以。然后在定义指令时,通过独立作用域实现双向绑定,可参考http://xgfe.github.io/2015/12...这篇文章
提供一个方法可以在指令中进行emit, 然后controller进行on监听
另外,一般指令是外部像内部传值 才能达到指令的灵活性 ,如果这样每次修改API不是得修改指令了?