0
は*ご注意ビューコントローラに指令からオブジェクトを渡す:まず https://plnkr.co/edit/PAINmQUHSjgPTkXoYAxf?p=previewangular.js -
私はディレクティブのクリックイベントにパラメータとしてオブジェクトを渡したい、 :Plunkerのリンクがあります(それは私にとっては複雑すぎる)ので、イベントとオブジェクトを別々に送信することで簡単にすることにしました。
私のプログラムでは、オブジェクトはView ControllerとPlunkerの例とは反対のビューで常に定義されていません。
Plunkerの例では、コントローラー上で最初に通過するイベントでのみ定義されています(2番目の指示イベントは正常に動作します)。
- 私は単純なPlunkerシミュレーションと大規模なコードで2つの異なる結果が得られるのか分かりませんが、両方のケースが同じロジック問題の2つの異なる結果であることを願っています。
- イベント関数によるディレクティブからパラメータとしてオブジェクトを渡すソリューションも歓迎されます。
HTML
<pick-er get-obj-d="getObj()" obj-d="obj"></pick-er>
ビュー - コントローラ
function mainController($scope)
{
$scope.test = "work";
$scope.getObj = function(){
$scope.test = $scope.obj;
}
}
指令:
function PickerDirective()
{
return {
restrict: 'E',
scope: // isolated scope
{
obj : '=objD',
getObj: '&getObjD'
},
controller: DirectiveController,
template:`<div ng-repeat="item in many">
<button ng-click="sendObj()">
Click on me to send Object {{item.num}}
</button>
</div>`
};
function DirectiveController($scope, $element)
{
$scope.many =[{"num":1,}];
$scope.sendObj = function() {
$scope.obj = {"a":1,"b":2, "c":3};
$scope.getObj();
}
}
}
「イベント」の使用方法を教えてください。私はいくつかの哲学的定義に加えてネット上で確かな答えを見つけることができませんでした。リンクや例も受け入れられます:-) – tomersss2
角度の書類を確認しましたか? https://docs.angularjs.org/api/ng/type/$rootScope.Scope、 'event'はコールバックに角度をつけて渡されるイベントオブジェクトです –