0

我是Angular的新手,试图找出不同控制器中的$范围。我已经阅读了很多主题,但似乎无法找出为什么它不在我的代码中工作。

我想要的是一个单页面的应用程序,但它有点复杂(对我来说),建立它在普通的老JS我想将它转换为角度但有$范围和多个控制器的麻烦。

当有人点击'Dongel'时,它会显示dongel手册。 当我点击最上面的手册它去/ dongel启动,并应加载'secondController'来管理dongel安装手册的所有上下文和值,但我似乎无法访问secondController $范围?

我所有的HTML首先我设法与NG-视图和$ routeProvider工作

<div id="wrap"> 

<div ng-view></div> 

</div> 

我的角度JS文件包含以下内容:

(function() { 

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

app.config(function ($routeProvider) { 

    $routeProvider 

     .when('/', { 
      templateUrl: 'welcome-page.html', 
      controller: 'productController' 
     }) 

     .when('/dongel-start', { 
      templateUrl: 'dongel-start.html', 
      controller: 'secondController' 
     }) 

}); 

app.controller('productController', function($scope) { 

    $scope.products = [ 
    { 
    name: 'Dongel', 
    image: 'images/dongel.png', 
    manuals: [ 
     { 
     name: 'Geen Verbinding?', 
     value: 'dongel-start' 
     }, 
     { 
     name: 'Installatie', 
     value: 'dongel-start' 
     }, 
     { 
     name: 'APN Controleren', 
     value: 'dongel-apn' 
     }, 
     { 
     name: 'Saldo', 
     value: 'dongel-saldo' 
     } 
    ], 
    value: 'Dongel' 
    }, 
    { 
    name: 'Mifi', 
    image: 'images/mifirouter.png', 
    manuals: [ 
     { 
     name: 'Geen Verbinding?', 
     value:'mifi-start' 
     }, 
     { 
     name: 'APN Controleren', 
     value: 'mifi-apn' 
     }, 
     { 
     name: 'Saldo', 
     value: 'mifi-saldo' 
     } 
    ], 
    value: 'Mifi' 
    } 
    ]; 

$scope.showManuals = function(s){ 
     $scope.current = s.name; /* changing value of current*/ 
}; 


}); 


app.controler('secondController', function($scope) { 

    $scope.systems = [ 
     { 
      name: 'Windows' 
     }, 
     { 
      name: 'Apple' 
     } 
     ]; 

}); 


})(); 

第一页是工作的罚款和它需要$ scope的值。产品 当我到达第二页时:

<h2>Kies een besturingssysteem</h2> 

    <ul style="height:100px;"> 
     <li ng-repeat="system in systems"> 
     {{system.name}} 
     </li> 
    </ul> 

我想再次访问变量,但没有显示出困难我已经将“secondController”分配给这个页面$ scope与第一页不同。

在第二页上的结果只能说明我在手动键入的冠军。 我似乎无法进入电影

{{system.name}} 

我会做一个小提琴,但它不支持路由:/

回答

0

您在secondController定义中有错字。你在那里有app.controler,显然不是第二个控制器的控制器,但其他的。

+0

这是您的代码中的错字,还是仅仅是问题? – mico

+0

是的,哇,谢谢...我觉得很愚蠢^ _ ^。 顺便说一句,这是一个适当的方式来设置functionallity在一个单一的paged布局?一些方向提示? –

+0

我没有看到你的设计中有什么不好。好东西,我的眼睛。 – mico