2015-11-16 5 views
11

角度ドラッグツールモジュール(https://github.com/bevacqua/angular-dragula)を使用してAngularプロジェクトでドラッグアンドドロップを実装したいと思います。しかし、それはRequireJSに大きく依存しているようです。私は1つまたは2つのサンプルアプリケーションのためにしばらくの間、そしてその後は必要を使用していません。このモジュールからRequireを解く簡単な方法はありますか?RequireJSを使用しないAngular Dragulaの使用

著者は、それが単純であると思えるようで(https://github.com/bevacqua/angular-dragula/issues/23)、実際の説明なしに同様の質問も停止しています。私はコードを見て、私のプロジェクトにRequireJSを追加しないでモジュールをロードする方法を見ていない(私はしたくない)。私はこのモジュールを使用しないか、またはRequireを追加するか、Requireを使用しないでこれを使用する方法がありますか?

+0

ソースをスキミングすると 'dist/angular-dragula.js'はrequireに依存しますが、縮小版はそうではないかもしれません。縮小バージョンを使って動作するかどうか試しましたか? – yvesmancera

+0

ええ、私はしていたし、動作していないようだ。問題の一部は、角をつけることによって初期化されることも期待しているので、角度の依存性としてそれを含めるだけでは苦労しています。 – IAmTimCorey

+1

'require( 'angular')'がそれを返すので、グローバル変数 'angle'のインスタンスを渡すことができると思います。 – yvesmancera

答えて

22

コメントした人の助けを借りて(ありがとう皆さん!)、これを動作させることができました。あなたがする必要があることはいくつかあります。まず、私はこのモジュールを他のモジュールとバンドルして、それを呼び出そうとしていました。それはパラメータ(angular)で初期化する必要があるため、動作しません。したがって、次の手順を実行する必要があります。

  1. 角度-dragula.js(または分版)への参照を追加し、角度のためしかし、あなたはあなたのアプリケーションを作成する場所を上記の宣言下にあなたのindex.htmlページへ。
  2. あなたのアプリケーションの依存関係を宣言するときは、angularDragula(angular)(引用符ではありません)を指定してください。
  3. 通常どおりドラッグラを使用してください。サービスにアクセスする必要がある場合は、名前はangularDragulaとなります。たとえば、

が、ここではアプリの私の宣言です:

<div dragula='"bag-one"' dragula-model="vm.items"> 
    <div ng-repeat="item in vm.items">{{ item }}</div> 
</div> 

注:

var app = angular.module('app', [ 
    'ngRoute', 
    angularDragula(angular) 
]); 

そしてドラッグすることとが可能なドロップするための簡単なリストを取得するには、これは私のhtmlです例とは異なり、angularDragulaはどこにでも宣言していません。作成者が示した例では、angularが必要で、angularという変数を作成した後、angular-dragulaが必要で、angularDragulaという変数が作成されます。正しい順序でスクリプトをロードしている限り、RequireJSを使用していない場合、これは必要ありません。

+0

私はイオンアプリでこれを試しています。私は明示的にindex.htmlに角度をつけていません。イオンはそれを処理します。それは私がこれをやる方法を変えるのだろうか?あなたが 'angularDragula'が' function register(angular){... 'を返すが、 'var app = angular.module(' dragula '、[' ng ' ]); ' –

+0

私は' dist/angular-dragula.js'をionicの後で、 'app.js'の前に読み込み、' app.js'の依存関係の中で 'angularDragula(angular)'を宣言していますイオン依存性が差異無くロードされる前と後)。 –

+1

nevermindそれは働いていた。私はコントローラ(dragulaService)に正しい依存関係を渡していませんでした。素晴らしいソリューションをありがとう! –

関連する問題