2017-02-19 3 views
1

Angularコントローラはインデックスページで正常に動作しますが、リンクされたページから呼び出すと機能しません。ページを操作するにはコントローラと何が必要ですか?Phonegap Framework7の新しいページでAngular Controllerを呼び出せません

私のインデックスページには、アプリケーションが定義されています。私が持っているについてのページで

Click <a href="about.html">here</a> to go to About 

::私のような外部のページをリンクした

<html ng-app="MyApp"> 

<script type="text/javascript" src="js/controller/MyAboutPageController.js"></script> 
<div class="navbar"> 
    <div class="navbar-inner"> 
     <div class="left"> 
      <a href="#" class="back link"> 
       <i class="icon icon-back"></i> 
       <span>Back</span> 
      </a> 
     </div> 
     <div class="center sliding">About</div> 
     <div class="right"> 
      <a href="#" class="link icon-only open-panel"><i class="icon icon-bars"></i></a> 
     </div> 
    </div> 
</div> 
<div class="pages"> 
    <div data-page="about" class="page"> 
     <div class="page-content"> 
      <div class="content-block" ng-controller="MyAboutPageController"> 
       <p>Here is About page!</p> 
       {{name}} 
      </div> 
     </div> 
    </div> 
</div> 

私は両方の仕事をいけない、MyApp.angular.controller(MyApp.controller(てみました。また、インデックスとAboutページに<script type="text/javascript" src="js/controller/MyAboutPageController.js"></script>を含めて助けませんでした。

MyAboutPageController

MyApp.angular.controller("MyAboutPageController", function($scope){ 
    $scope.name = "John Wick Test"; 
    console.log("MyAboutPageController loaded fine!!"); 
}); 

ザ・ページについての負荷罰金が、コントローラいけません。助けてください。

答えて

0

Angularは、SPA(シングルページアプリケーション)の作成に役立つように設計されているため、ページ間を移動する必要はありません(ポストバックなし、新しいページなし)。

私はあなたがNG-ビューおよび$ routeProviderを使用することをお勧めします

ので、このような何か:

あなたの体で、その後
<head>  
... 
<script src="scripts/app/index.js"></script> 
</head> 

:あなたのindex.jsで

<body ng-app="YourApp"> 
... 
Click <a href="#!about">here</a> to go to About 
<div ng-view></div> 

app.config(function ($routeProvider) { 
$routeProvider 
    .when('about', { 
     templateUrl: 'Views/about.html', 
     controller: 'AboutController' 
    }) 
... 
app.controller("AboutController", function($scope){ 
$scope.name = "John Wick Test"; 
console.log("MyAboutPageController loaded fine!!"); 
}); 
関連する問題