5
角度ディレクティブは、ディレクティブの属性で指定された式の関数に引数を渡すことができますか?
特定のcallback属性を分離スコープで使用するフォームディレクティブがあります。 scope: { callback: '&' } それは内部にあるng-repeatので、私が渡す式にはid、コールバック関数への引数としてオブジェクトのが含まれています。 <directive ng-repeat = "item in stuff" callback = "callback(item.id)"/> ディレクティブを使い終えると、$scope.callback()コントローラー関数から呼び出されます。ほとんどの場合、これで問題ありませんし、やりたいことはこれだけですが、場合によっては、directiveそれ自体の内部から別の引数を追加したいこともあります。 これを可能にする角度式はありますか:$scope.callback(arg2)、callbackで呼び出されarguments = [item.id, arg2]ますか? そうでない場合、これを行うための最も近い方法は何ですか? これが機能することがわかりました: <directive ng-repeat = "item in stuff" callback = "callback" callback-arg="item.id"/> と scope { callback: '=', callbackArg: '=' } ディレクティブ呼び出し $scope.callback.apply(null, [$scope.callbackArg].concat([arg2, arg3]) ); しかし、私はそれが特にきちんとしているとは思いません、それは分離スコープに余分なものを置くことを含みます。 もっと良い方法はありますか? ここにプランカー遊び場があります(コンソールを開いたままにします)。