angularJS指令如何暴露API给外面的controller使用?

<button>expand</button>

<my-menu></my-menu>

我想点击按钮就展开menu,但怎么将menu的API暴露出来给button使用呢?
或者有没有其他更好的做法?

摇曳的蔷薇
浏览 521回答 1
1回答

万千封印

不需要暴露什么API, 你只需要在指令上使用自定义属性进行数据双向绑定即可。比如你需要显示隐藏,你就在指令上使用一个display属性,例如:<my-menu display="someCtrlValue" ></my-menu>然后在你的控制器中去控制这个值,比如&nbsp;if(condition){&nbsp;&nbsp;&nbsp;$scope.someCtrlValue&nbsp;=&nbsp;true; &nbsp;}当然指令中你只需要指定双向绑定的属性即可;&nbsp;Module.directive("myMenu",&nbsp;function(){&nbsp;&nbsp;&nbsp;return&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;scope:&nbsp;{ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;display&nbsp;:&nbsp;'=' &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;... &nbsp;&nbsp;&nbsp;} &nbsp;})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript