我正在尝试为下拉组创建一个指令 但是,数据绑定无法正常工作 问题是:默认变量没有从html接收值,也无法加载项值。
这是指令代码:
app.directive 'addquestionbutton', ()->
restrict: 'E'
replace: true
scope:
default: '@'
dropdown: '='
addQuestionClick: '&'
template:
'<div class="bottom-buttons-container">' +
'<div class="add-item">' +
'<div class="btn-group dropup">' +
'<button type="button" class="btn btn-default btn-md" id="btnSelect" ng-click="addQuestionClick(default)">Add item</button>' +
'<button type="button" class="btn btn-info btn-md dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>' +
'<ul class="dropdown-menu">' +
'<li ng-repeat="item in dropdown">' +
'<a ng-click="addQuestionClick(item)">{{item}}</a></li></ul></div></div></div>'
这是html代码:
<addquestionbutton default='Text' add-question-click="addItem(item)" dropdown="dropdownitems"></addquestionbutton>
答案 0 :(得分:1)
您只需在函数调用中指定参数即可。请参阅此相关问题:calling method of parent controller from a directive in AngularJS
<button ng-click="addQuestionClick({item: default})" type="button" class="btn btn-default btn-md" id="btnSelect" >
...
<li ng-repeat="item in dropdown">
<a ng-click="addQuestionClick({item: item})">{{item}}</a>
</li>
这是一个有效的演示:http://plnkr.co/edit/pqBp4C4x4riwMn5zHa7i?p=preview