0

関数を呼び出す一連のボタンを生成したいのですが、呼び出し元のボタン div だけに戻りたいと思っています。

今私が持っています:

  app.directive("phone", function () {
      return {
        scope: {
          dial: "&"
        },

       template: '<input type="text" ng-model="value"> <div class="button" ng-click="dial({message:value})">prova!   </div> {{ $parent.pippo }}',
        };
    });

<div ng-app="phoneApp">
  <div ng-controller="AppCtrl">
      <div phone dial="callHome(message)"> </div><br><br>

          $scope.callHome = function (message) {
            $scope.pippo = "casa";
          };

発信者ボタンへの応答を分離するにはどうすればよいですか?

4

1 に答える 1

0

controllerとをディレクティブに割り当てて、ボタンごとに個別のコンテキストcontrollerAsで新しいディレクティブを作成できるようにします。

app.directive("phone", function () {
  function PhoneDirectiveCtrl ($scope) {
    this.$scope = $scope;
  }
  
  PhoneDirectiveCtrl.prototype.dial = function () {
    this.pippo = this.message + 'casa';
  }
  
  var tempalte = '<input type="text" ng-model="value"> <div class="button" ng-click="ctrl.dial()">prova!</div> {{ ctrl.pippo }}';
  
  return {
    controller: PhoneDirectiveCtrl,
    controllerAs: 'ctrl',
    scope: {
      message: '@'
    },
    template: template
  }
});

$scopesame のインスタンスをいくつか作成する必要がある場合は、parent を使用しないでくださいdirective

$parentPSコントローラーのみでディレクティブに関連するメソッドを定義しないでください。あなたによって呼び出される専用のメソッドを使用して専用を作成する必要がありますcontrollerdirective

于 2016-07-21T09:49:28.290 に答える