複数の引数を持つ関数を束ねるAngularJSディレクティブ
2023-09-19 12:15:45
質問
コントローラで定義された関数とディレクティブのコールバック関数のバインドに問題があります。私のコードは次のようなものです。
私のコントローラでは
$scope.handleDrop = function ( elementId, file ) {
console.log( 'handleDrop called' );
}
次に私のディレクティブ。
.directive( 'myDirective', function () {
return {
scope: {
onDrop: '&'
},
link: function(scope, elem, attrs) {
var myFile, elemId = [...]
scope.onDrop(elemId, myFile);
}
} );
そして、私のhtmlページでは
<my-directive on-drop="handleDrop"></my-directive>
上記のコードで運がありません。私が様々なチュートリアルで読んだものから、私は私がHTMLページで引数を指定することになっている理解していますか?
どのように解決するのですか?
あなたのコードに1つの小さなミスがあります、以下のコードを試してみてください、それはあなたのために動作するはずです。
<!doctype html>
<html ng-app="test">
<head>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.8/angular.js"></script>
</head>
<body ng-controller="test" >
<!-- tabs -->
<div my-directive on-drop="handleDrop(elementId,file)"></div>
<script>
var app = angular.module('test', []);
app.directive('myDirective', function () {
return {
scope: {
onDrop: '&'
},
link: function (scope, elem, attrs) {
var elementId = 123;
var file = 124;
scope.onDrop({elementId:'123',file:'125'});
}
}
});
app.controller('test', function ($scope) {
alert("inside test");
$scope.handleDrop = function (elementId, file) {
alert(file);
}
});
</script>
</body>
</html>
関連
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] Angular ng-repeat エラー "リピータ内の重複は許可されません。"
-
[解決済み] Apigee API へのリクエストで 401 レスポンスエラーが発生する
-
[解決済み] md-selectでデフォルト値を設定する方法
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] 入力フィールドにフォーカスを当てるには?
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み] AngularJSで独自のスコープ*を持つカスタムディレクティブ内から親スコープにアクセスするにはどうすればよいですか?
-
[解決済み】AngularJSディレクティブで定義されたメソッドを呼び出すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Angularjsのng-viewが動作しない。
-
[解決済み] 方法 $state.go()
-
[解決済み] ページロード時にAngularJSのコントローラ関数を実行する方法は?
-
[解決済み] AngularJSのディープリンクとは何ですか?
-
[解決済み] ng-pattern` - 数字だけをチェックする方法は?
-
[解決済み] controllerAs "プロパティを使用する理由は何ですか?
-
[解決済み] createspyとcreatespyobjの違いは何ですか?
-
[解決済み] Angularjsを使用してローカルストレージにデータを保存するにはどうすればよいですか?
-
[解決済み] AngularJSのコントローラを指定する:ngControllerと$routeProviderを使用する利点
-
[解決済み] AngularJSのサービスをコンソールからテストするにはどうしたらいいですか?