2017-11-13 11 views
0

ジャスミンテスト用のuiグリッドをコンパイルするには$compileを使用しようとしています。コントローラーへの受け入れ可能なパラメーターとして$scopeを使用したときに問題なく動作しましたが、私はvmに移行しています。これにより、ui-gridをコンパイルするときに$compileが失敗しました。このようにそれをやって

var rootScope = $rootScope; 
var controller = $controller('Controller', {stuff: stuff, other: other}); 
$compile('<div ui-grid="vm.grids.grid1" ui-grid-selection ui-grid-auto-resize></div>')(rootScope); 
rootScope.$apply(); 

は私を通して踏まれているJavaScriptのcannot read property 'data' of undefined.とき、UIグリッドのエラーが発生します。

コントローラーをcontroller.grids.grid1に代わり、$apply()の代わりにrootScope.$digest()を使用して$ compileに渡してみました。

私には紛失しているものがありますか?これについては間違っていますか?

答えて

0

さて、私の質問に対する答えが見つかりました。

This answer私は答えを得るのを助けました。

var rootScope = $rootScope; 
var controller = $controller(/**controller stuff**/); 
rootScope.vm = controller; 
$compile('html to compile')(rootScope); 
rootScope.$apply(); 

これで、$scopeを使用せずにコンパイルすることができました。

関連する問題