0
私はこのディレクティブを持っている:変数をディレクティブに渡すにはどうすればよいですか?
app.directive('dropdown', ['$timeout',function ($timeout) {
return {
require: '^ngModel',
restrict: 'E',
template: '<div id="dropdownDirective" class="btn-group" dropdown>' +
'<button class="btn dropdown-toggle" ng-disabled="ngDisabled" dropdown-toggle>' +
'{{ items[ngModel].name }}' +
'<span class="caret"></span>' +
'</button>' +
'<ul class="dropdown-menu" role ="menu" aria-label="dLabel">' +
'<li ng-repeat="item in items">' +
'<a href="#" ng-bind="item.name" ng-click="select(item)" ></a >' +
'</li>' +
'</ul>' +
'</div>',
scope: {
ngModel: '=', // selected item
items: '=', // items to select from
ngDisabled: '=',
ngChange: '&'
},
link: function (scope: any, element, attrs, ngModelCtlr) {
// selection changed handler
scope.select = function (item, ngModel) {
scope.ngModel = item.id;
$timeout(scope.ngChange, 0);
ngModelCtlr.$setDirty();
};
}
}
}]);
私はこのようにそれを呼び出す:
<dropdown ng-model="phs.phrases[row.index].posId"
items="phs.phrasePosShortNames">
</dropdown>
私がやりたい何がディレクティブを呼び出し、noButtonBorderと呼ばれるパラメータを渡すことができるようにすることです。次に、そのパラメータが渡された場合、ボタンにnoBorderクラスを追加したいと思います。
ええと。 'scope'で定義された属性と同じ方法ですか? – str