结合控制器角1.6



我在迁移到最后一个角度后与指示有问题。

.directive('documentGrid',
    function() {
        return{
            restrict: 'EA',
            scope: {
                documentData: '=',
                remove: '&',
                edit: '&',
                documentDatasources: '='
            },
            controller: 'DocumentCrtl',
            controllerAs: 'vmDocument',
            //bindToController: true,
            //transclude: true,
            templateUrl: '/Custom/Document/document.cshtml'
        };
    });
<div class="box" document-grid document-data="widget"
                             document-datasources="vm.datasource.data"
                             remove="vm.remove(item)"
                             edit="vm.openSettings(item,datasources)">
                        </div>

移至最后版本之前,它可以将绑定控制器设置为true可以正常工作,但现在它不起作用。因此,我删除了bindtocontroller:true,我需要使用$范围访问我的varibile bind bind bint

我阅读了有关指令的指南,帖子和教程,但我找不到任何解决方案。

尝试用以下方式替换:

directive('documentGrid',
    function() {
        return{
            restrict: 'EA',
            bindToController: {
                documentData: '=',
                remove: '&',
                edit: '&',
                documentDatasources: '='
            },
            controller: 'DocumentCrtl',
            controllerAs: 'vmDocument',
            scope: {},
            //transclude: true,
            templateUrl: '/Custom/Document/document.cshtml'
        };
    });

请注意,我更改了bindToControllerscope

然后在您的控制器中您必须绑定this,例如:var vm = this;在您的控制器的第一行中,最好是。

最后,您将能够在控制器中访问您的数据:

vm.documentData

请参阅此小提琴:https://jsfiddle.net/2n5skwqj/794/在控制器函数中我记录名称。

相关内容

  • 没有找到相关文章

最新更新