我是Angular的新手并试图找出不同控制器中的$ scope。我已经阅读了很多主题,但似乎无法找出它在我的代码中无效的原因。
我想要的是一个单页应用程序,但它有点复杂(对我来说),用普通的旧JS构建它我想将它转换为角度但是在使用$ scope和多个控制器时遇到问题。 / p>
当有人点击Dongel'它显示了dongel的手册。 当我点击顶部手册时,它会转到/ dongel-start并且应该加载' secondController'管理dongel安装手册的所有上下文和值,但我似乎无法访问secondController $ scope?
首先我的HTML设法使用ng-view和$ routeProvider
<div id="wrap">
<div ng-view></div>
</div>
我的angular 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.products的值 当我到达第二页时:
<h2>Kies een besturingssysteem</h2>
<ul style="height:100px;">
<li ng-repeat="system in systems">
{{system.name}}
</li>
</ul>
我正在尝试再次访问这些变量,但没有任何表现出来我已经指定了&#39; secondController&#39;以某种方式,$ scope不会与第一页相同。
第二页上的结果仅显示我手动输入的标题。 我似乎无法访问
{{system.name}}
我会做一个小提琴,但它不支持路由:/
答案 0 :(得分:0)
你在secondController定义中有一个拼写错误。你有app.controler,显然不会从第二个控制器中取出控制器,但是其他的。