控制器在angularjs指令内的外部文件中

时间:2017-09-12 05:33:03

标签: angularjs

我有问题。我有一个控制器:

app.controller("controllerLots", ["$scope", "factoryClient", "factoryLots", "factoryContracts", "fillTicketFactory", function ($scope, factoryClient, factoryLots, factoryContracts, fillTicketFactory) {
    var vm1 = this;
    vm1.lot = {};
    vm1.lots = [];
    vm1.client = {};
    vm1.ticket = {};
    vm1.clientFindDB = [];
    // vm1.filterName =vm1.client.clientName +""+vm1.client.clientFn+"" +vm1.client.clientPatroncyr;
    // vm1.filterPassport = vm1.client.clientSerialPass + vm1.client.clientNumberPass;



    vm1.selectClient =function(client){
        vm1.client=client;
        vm1.filterName = vm1.client.clientName +''+vm1.client.clientFn +''+vm1.client.clientPatroncyr;
        vm1.filterPassport = vm1.client.clientSerialPass +""+vm1.client.clientNumberPass;
    }

    vm1.addLot = function () {
        if (angular.isUndefined(vm1.lot.orderNumberLot) || vm1.lot.n <= 0) {
            vm1.lots.push(vm1.lot);
            vm1.lot.n = vm1.lots.length;
        }
        vm1.lot = {};
    }

我有一个指令,其中我想从上面的控制器中放置一些函数,这是我的指令现在看起来像:

app.directive("searchDir", [function(){
    return{
        scope:{
            filterName: '=',
            filterPass:'='
        },
        templateUrl:'searchDirective.html',
        replace:true,
        controllerAs:'ctrl',
        controller:controller
    }  }]);

如何在我的指令中使用这些功能?感谢。

1 个答案:

答案 0 :(得分:0)

  

如何在我的指令中使用这些功能?

我想您要问的是如何在指令模板中使用这些功能。为此,您需要将要在模板中访问的所有属性添加到&#34;范围&#34;。

  1. 在您的指令中更改指令的控制器属性,如:

    控制器:&#39; controllerLots&#39;

  2. 在您的控制器中,不是将属性添加到&#34;此&#34; ,而是将属性添加到&#34; $ scope&#34;