2017-07-31 159 views
0

我有以下代碼:AngularJS不顯示控制器

Trips.cshtml:

@section Scripts{ 
    <script src="~/lib/angular/angular.min.js"></script> 
    <script src="~/js/app-trips.js"></script> 
    <script src="~/js/tripsController.js"></script> 
} 
<div class="row" ng-app="app-trips"> 
<div >{{"Two plus two : " + (2+2)}}</div> 
    <div ng-controller="tripsController as vm" class="col-md-6 col-md-offset-3"> 
     {{ vm.name }} 
    </div> 
    </div> 

APP-trips.js:

(function() { 
    "use strict"; 
    angular.module("app-trips", []); 
    })(); 

tripsController.js:

(function() { 
    "use strict"; 
    angular.module("app-trips") 
     .controller("tripsController", tripsController); 
    function tripsController() { 
     var vm = this; 
     vm.name = "jaka"; 
    } 
})(); 

在我的.cshtml中,我得到「2 + 2」= 4顯示角度,但我沒有得到我的vm.name調用。有誰知道可能是什麼問題?

回答

1

您還沒有關閉的股利,

<div class="row" ng-app="app-trips"> 
<div >{{"Two plus two : " + (2+2)}}</div> 
    <div ng-controller="tripsController as vm" class="col-md-6 col-md-offset-3"> 
     {{ vm.name }} 
    </div> 
</div> 

DEMO

angular.module("app-trips", []).controller("tripsController", tripsController); 
 
function tripsController() { 
 
     var vm = this; 
 
     vm.name = "jaka"; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div class="row" ng-app="app-trips"> 
 
<div >{{"Two plus two : " + (2+2)}}</div> 
 
<div ng-controller="tripsController as vm" class="col-md-6 col-md-offset-3"> 
 
     {{ vm.name }} 
 
</div>

+0

我的壞,它是封閉的,我只是沒有在這裏添加。 –

+0

檢查演示,它工作正常 – Sajeetharan

+0

哇...但實際上,它不是在我的項目工作。 「vm.name」(不是jaka)顯示0.5秒,然後消失。 –

1

<!DOCTYPE html> 
 
<html xmlns="http://www.w3.org/1999/xhtml" > 
 
<head> 
 
    <title></title> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script> 
 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.0/angular-route.min.js"></script> 
 
    <!-- <link href="Styles.css" rel="stylesheet" /> --> 
 
    <script> 
 
(function() { 
 
    "use strict"; 
 
    angular.module("app-trips", []); 
 
    })(); 
 
    (function() { 
 
    "use strict"; 
 
    angular.module("app-trips") 
 
     .controller("tripsController", tripsController); 
 
    function tripsController() { 
 
     var vm = this; 
 
     vm.name = "jaka"; 
 
    } 
 
})(); 
 
    </script> 
 
</head> 
 
<body > 
 
    <div class="row" ng-app="app-trips"> 
 
<div >{{"Two plus two : " + (2+2)}}</div> 
 
    <div ng-controller="tripsController as vm" class="col-md-6 col-md-offset-3"> 
 
     {{ vm.name }} 
 
    </div> 
 
</body> 
 
</html>

+0

哇這個工程...但真正的,它不是在我的項目工作。 「vm.name」顯示0.5秒,然後消失。 –

+0

嘗試像我一樣放置內部js。並檢查它是否工作。因爲我檢查了你的代碼。它沒有什麼錯誤..或者刪除函數並聲明全局變量用於調試 –

+2

我想我找到了解決方案。我已經安裝了Nugget軟件包Angular以及bower.json文件中的Angular。我卸載了Angular,刪除了/wwwroot/lib文件夾中的包,並將其重新添加到了bower中。現在它可以工作。 –