2015-11-03 43 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