2015-07-19 98 views
0

我這個簡單的代碼在我的app.js文件:AngularJS - 爲什麼控制器不工作?

(function(){ 
    var app = angular.module('searchHotels', []); 

    app.controller = ("PlaceController", function(){ 
     this.place = shop; 
    }); 

    var shop = { 
     name: 'supermarket', 
     distance: 100 
    }; 
})(); 

下面是index.html文件的代碼:

<!doctype.html> 
<html ng-app="searchHotels"> 

<head> 
    <script type="text/javascript" src="angular.min.js"></script> 
    <script type="text/javascript" src="app.js"></script> 
</head> 

<body> 

    <div ng-controller="PlaceController as placeC"> 
     <h3> {{placeC.place.name}} </h3> 
    </div> 

</body> 

</html> 

在輸出中,我{{} placC.place.name }表達式不會被它打算顯示的數據所取代。它只輸出「{{placeC.place.name}}」本身。我在這裏錯過了什麼?謝謝!

+0

而你正在將'undefined'賦給'this.place'作爲變量'shop'是...在那部分代碼中未定義。 –

+0

@KrzysztofSafjanowski,nope,當前呼叫控制器功能 - 地方已經不是undefined – Grundy

+0

@KrzysztofSafjanowski絕對正確!只是把商店對象放在控制器之前,我忘了JS只是自上而下:) –

回答

5

角控制器定義是一個方法調用,而不是賦值。正確的代碼:

app.controller("PlaceController", function(){ 
    this.place = shop; 
}); 
+0

我感到很蠢。非常感謝! –

相關問題