2017-02-19 54 views
1

Angular控制器在索引页面中工作正常,但是当我从链接页面调用它们时,它们不起作用。我需要怎样处理控制器才能够使用页面?无法在Phonegap Framework7的新页面上调用Angular Controller7

我的索引页面定义了应用程序。

<html ng-app="MyApp"> 

我链接的外部页面,如:

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

在关于页面我有:

<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(,双方不工作。此外,我包括<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> 

然后在你的身体:

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

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!!"); 
});