gpt4 book ai didi

javascript - AngularJS 有多少种方法可以将数据传递给范围以外的指令?

转载 作者:行者123 更新时间:2023-11-28 15:16:47 24 4
gpt4 key购买 nike

我知道一种方法,那就是使用范围。还有哪些其他方法可以做到这一点?

这是自定义指令。在这里,我创建了一些自定义属性,这些属性通过作用域将数据从 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>

最佳答案

  • 您可以$parse attrs 对象上的内容。
  • 您可以从上方$broadcast 数据并使用$scope.$on()在指令中监听它
  • 您可以将数据存储在 Angular 服务中并将其注入(inject)到您的指令中。

关于javascript - AngularJS 有多少种方法可以将数据传递给范围以外的指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42371006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com