0

$parent を使用せずにコントローラ スコープにアクセスしたい。私が読んだすべてから、次のようにそれを分離スコープに渡すことができると思いました:

  <body ng-app="app" ng-controller="myController">
    <h1>
      {{message}}
    </h1>
    <mydir></mydir>

angular.module('app', [])

.controller('myController', function($scope){
  $scope.message = "Hello World";
})

.directive('mydir', function(){
  return {
    restrict: "E",
    scope: {
      message: "=",
    },
    controller: function($scope){
      $scope.goodbye = function(){
        $scope.message = "Goodbye World";
      }
    },
    template: "<button ng-click='goodbye()'>Say Goodbye</button>"
  }
})

ただし、スコープのmessageプロパティを更新するディレクティブを取得できません。Plnkr リンク.

4

1 に答える 1

4

分離されたスコープ値は を使用して渡すことができるため、スコープ変数名を持つディレクティブ要素に属性attributeが必要です。message

<mydir message="message"></mydir>

デモプランカー

于 2015-10-05T17:53:40.600 に答える