2017-10-30 9 views
1

AngularJSの新機能です。 angular-bootstrap-tourを使用してウォークスルーを作成します。それは言う:

ツアーディレクティブはすべてのツアーステップを含むラッパーを作成し、スコープにツアーオブジェクトを追加します。

だから私は、私の見解では、このコードを持っている:

私のコントローラで
<div tour placement="top"> 
    <div tour-step order="0" title="Main Menu" content="This is the main menu." placement="bottom"> 
</div> 

そして今、私は、ページが読み込まれるとツアーを開始するには、このコードを使用したい:

$scope.tour.restart(tour); 

しかし、それは言う:$scope.tour is undefined! と私は私のビューに下のコードを追加すると、ボタンがツアーを開始!どのようにツアーが表示されますが、コントローラの$scopeでは定義されていませんか?

<button class="btn" ng-click="tour.restart(true)">Start Tour</button> 
+0

のようなあなたのHTMLファイルにコードを追加します

function execute(moduleType) { if(moduleType) { var tour = new Tour({orphan: false}); tour.addSteps(setRoute(moduleType)); tour.init(); tour.restart(); tour.start(true); } } 

のようなファイル、あなたのjsのコードを追加します。' ?使用しているAngularJSのバージョンによっては、これをngOnInitフックで実行したいと思うかもしれません。 しかし、多少のコンテキストを提供するためには、おそらくもっとコードを追加する必要があります。 –

答えて

1

あなたは `$のscope.tour.restart(ツアー)を実行している

<button class="btn" ng-click="execute(true)">Start Tour</button> 
+1

Afaikによれば、OPは「 '」を使用しても問題はないことを示しています。 –

+0

ツアークラスの使い方を知り、問題を解決できるかもしれません。私の質問はまだ答えられていません。 –

関連する問題