2017-09-12 18 views
0

問題があります。私は、コントローラがあります。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 
    } }]); 

がどのように私はこれらの機能を使用することができます私の指示の中に?ありがとう。

+0

ディレクティブスコープ関数のバインディング '&'を使用する方法について調べることができます。 – Icycool

答えて

0

ディレクティブ内でこれらの機能を使用するにはどうすればよいですか?

これらの機能をディレクティブテンプレートでどのように使用できるかは、私が推測しているところです。そのためには、テンプレートにアクセスするすべてのプロパティを「スコープ」に追加する必要があります。あなたのディレクティブで

  1. のようなディレクティブのコントローラプロパティを変更:

    コントローラ:「controllerLots」

  2. そして、あなたのコントローラでは、代わりに「この」にプロパティを追加する、追加プロパティは"$ scope"になります。

+0

返信ありがとう、私はあなたが示唆したことを試みたが、何も起こらなかった。 –

+0

こんにちは。では、これらのメソッドをどこで正確に使用しようとしていますか?あなたのjsとhtmlファイルを共有することができれば、正確に何が起こっているかを知るのに役立ちます。 – ggoyal

関連する問題