Angular的新手,所以不确定我是否以正确的方式提问。
所以我有表格。
<form ng-controller="myController" action="" method="get">
<div myDirective>
<input ng-model="question.sex" value="male" type="radio">
<input ng-model="question.sex" value="female" type="radio">
<button ng-click="log(LogThisQuestionAnsware())"></button>
</div>
<div myDirective>
<input ng-model="question.agree" value="no" type="radio">
<input ng-model="question.agree" value="yes" type="radio">\
<button ng-click="log(LogThisQuestionAnsware())"></button>
</div>
</form>
所以我的目标是记录当前的“问题”答案。点击按钮。
如何在myDirective中访问本地问题,与第二个指令分开,并且也在控制器范围内。
- [编辑:] -
好的,这几乎是我的情景。 http://jsfiddle.net/y5esnm09/5 如果选择了按钮,则每个按钮必须记录其自己的指令值,而不是两个无线电值。
答案 0 :(得分:0)
如果我正确理解了您的问题,您希望两个指令实例绑定到同一个问题对象,但是它们的范围彼此分开:
在指令和控制器之间设置双向数据绑定,例如:
<div my-directive question="question">
<!-- the rest -->
angular.module('your.module').directive('myDirective', function() {
return {
scope: question: '=',
//other props
}
这将确保两个指令绑定到同一个问题对象,但具有各自独立的范围。
另一种方法是将scope
属性设置为true
,这样他们就可以创建控制器的子范围。
编辑:小提琴演示双向绑定:
PS:我将myDirective
转换为my-directive
,angular会将蛇案翻译成camelCase给你。