私は非常に似た機能を持っているので、ユーザーはタイトルとリンクを入力できます。モデルとコントローラ間で使用するディレクティブを作成する
私は指示を作成すると思いました。しかし、この指令は、さまざまなコントローラのコンテキストで使用する必要があります。
たとえば、my/contractsビューではコントローラーはContractsControllerで、submitでContractsControllerは契約を保存するためのAPI要求を送信します。
私の/会議メモ表示では、コントローラはMeetingNotesControllerです。これは、クライアントとの会議メモを保存するために、別のエンドポイントへの要求を処理します。
はここで、これまでの私のディレクティブです: app.js
.directive('myprefixLinkAttachment', function($timeout) {
return {
restrict: 'A',
templateUrl: '../partials/directives/link-attachment.html',
scope: {},
link: function link(scope, element, attrs) {
$timeout(function() {
console.log(scope.$parent);
console.log(scope.title);
}, 5000);
}
}
})
タイムアウト正しい値を返します - 私は値を得ることができるかどうかを確認するためにテストしていました。
リンクattachment.html
<md-input-container class="md-block" md-no-float flex="100" flex-gt-xs="66">
<input ng-model="title" placeholder="Title...">
</md-input-container>
<md-input-container class="md-block" flex="100" flex-gt-xs="33">
<input ng-model="link" placeholder="Title..." ng-keypress="CtrlNameHere.save($event)">
</md-input-container>
そして私はContractsController(この例では)内部からの指令を呼び出す - が、これは変化することが必要になります。要約すると
<div layout="column" layout-gt-xs="row" class="new-entry-line" myprefix-link-attachment>
- 私はCtrlNameHere.save()メソッドを処理するために、正しいコントローラを呼び出すことができることながら、自由にディレクティブを使用したいと思います。
ディレクティブにsaveメソッドを渡そうとしましたか? –
どのコントローラーにそれを渡すのがどのように分かりますか?私は$親を使用することができると思うが、私はそれを読んだことはお勧めしていないのですか? – DJC
データを同期するサービスを作成することができます –