2015-11-03 45 views
0

由于某种原因,我无法从我的视图中的控制器作用域变量中检索数据。我所有的观点都使用相同的控制器,所以我不确定发生了什么问题。任何帮助,将不胜感激。无法在视图中访问作用域 - 角度

这里是我的App.js

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


// Route configurations 
app.config(['$routeProvider', function ($routeProvider){ 
$routeProvider.when('/', { 
templateUrl: 'partials/home.html', 
controller: 'MainController' 
}) 
.when('/countries', { 
templateUrl: 'partials/countriesList.html', 
controller: 'MainController' 
}) 
.when('/details', { 
templateUrl: 'partials/countryDetails.html', 
controller: 'MainController' 
}) 
.otherwise({ 
redirectTo: '/' 
}); 
}]); 



// Main Controller Setup 
app.controller('MainController', ['$scope', MainController]); 
function MainController ($scope){ 
$scope.hello = 'hello'; 
} 

这里是我试图访问范围的观点之一:

<h1>Country List</h1> 
<a href="#details"><button class="btn">Countries Details</button></a> 

<p>hello: {{hello}}</p> 

这里是我的index.html

<!DOCTYPE html> 
<html ng-app="app"> 
<head> 
    <title>Countries and Capitals</title> 
    <link rel="stylesheet" type="text/css" href="css/vendor/bootstrap.min.css"> 
    <link rel="stylesheet" type="text/css" href="css/main.css"> 
</head> 
<body ng-controller="MainController" ng-cloak> 
    <div class="container"> 
    <div class="row"> 
     <div class="col-sm-12 text-center"> 
     <ng-view></ng-view> 
     </div> 
    </div> 
    </div> 


    <script src="js/vendors.js"></script> 
    <script src="js/scripts.js"></script> 
</body> 
</html> 
+0

什么错误? – Sajeetharan

+0

我没有收到错误消息,我也无法从控制器console.log范围变量。 – JET1991

+0

只是疯狂的猜测。你正在加载'app.js'吗? – Amit

回答

1

由于嵌套作用域的问题。使用一些嵌套的作用域的更好的方法是使用controllerAs方法。你可以尝试:

```

<body ng-controller="MainController as myctrl" ng-cloak> 

<p>hello: {{myctrl.hello}}</p> 

```

+0

no luck =(。我试图在其中一个视图中访问hello变量,而不是直接在索引 – JET1991

+0

哦,我看到了,你在你的身体标签中使用了ng-controller,这是非常规的,因为你的控制器是通过路由绑定的。删除它 – Errorpro

+0

没有运气,我应该尝试使用根视镜或沿着这些线路的东西? – JET1991