私は1つの方法を知っており、それはスコープを使用しています。同じことをする他の方法は何ですか?AngularJSスコープ以外のディレクティブにデータを渡す方法はいくつありますか?
これはカスタムディレクティブです。ここでは、HTMLからスコープ経由でディレクティブにデータを渡すカスタム属性をいくつか作成しています。
module.directive('createFormButtons', [function() {
return {
restrict: 'EA',
scope: { isUpdate: '=isUpdate', saveForm: '=saveForm', saveData: '=saveData', isChange: '=isChange', isPrint: '=isPrint', isTabIndex: '=isTabIndex' },
templateUrl: 'components/common/createFormButtons.html',
link: function ($scope, element, attrs) {
$scope.printpages = false;
$scope.save = function() {
$scope.$emit('save');
};
$scope.update = function() {
$scope.$emit('update');
};
$scope.refresh = function() {
$scope.$emit('refresh');
};
$scope.newForm = function() {
$scope.$emit('newForm');
};
$scope.print = function() {
$scope.printpages = !$scope.printpages;
};
$scope.printing = function (v) {
event.stopPropagation();
if (v === 5)
$scope.printpages = !$scope.printpages;
else
$scope.$emit('print', v);
};
}
};
}]);
これをHTMLで呼び出す方法です。
<create-form-buttons style="height:400px;" is-print="true" is-update="isUpdate" is-change="isChange" save-form="inwardForm" save-data="inward">
</create-form-buttons>
あなたは '$ scope'変数を使用していますが、これを行う最良の方法です、なぜ変更しますか? – Nicolas
@Nicolas彼は変更を求めるのではなく、他の可能性を求めています。 – Mistalis
[質問]と[トピックの内容](http://stackoverflow.com/help/on-topic)をお読みください。この質問ははるかに広いです。データを渡す他のすべての方法を求めることは、基本的に無限です。 –