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

标签 javascript html css 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>

最佳答案

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

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

相关文章:

javascript - 如何使用 jQuery 在动态生成的 scala 模板列表中查找嵌套元素?

javascript - Canvas 相对位置

html - 即使将overflow-x设置为overlay,自定义水平滚动条仍然会向上推内容

javascript - 试图将 div 定位在移动视口(viewport)的底部,而不是浏览器的底部

css 定位问题在不同的浏览器中显示不同的结果

javascript - 如何将浏览器控制台日志保存到我的数据库而不覆盖 console.log

javascript - HTML5自定义Validity-如何绘制?

html - 向右浮动一个div中的无序列表

javascript - 找到一个返回值作为变量

html - 在文本内容和我的页脚栏之间提供