2015-03-31 61 views
-2

我從Angular開始,遇到了應該工作的代碼,但事實並非如此。AngularJS - 簡單的教程不會工作

Angular是通過腳本標籤下載並添加的,它是正確的,其他教程之前都有效。

我已經嘗試了一切,但似乎並沒有找出問題所在。從O'Reilly的AngularJS開始學習。

<html ng-app="nameApp"> 
<head> 
<title>Angular Training</title> 
</head> 
<body ng-controller="NameCtrl"> 

<ul> 
    <li ng-repeat="name in names"> {{ name }} 
     <a href="" ng-click="removeName(name)">remove</a> 
    </li> 

</ul> 
<form ng-submit="addName()"> 

    <input type="text" ng-model="enteredName"> 
    <input type="submit" value="add"> 

</form> 
<script src='unzipped___AngularJS-1.3.12\angular-1.3.12\angular.min.js'></script> 
<script> 

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

    nameApp.controller('NameCtrl', function ($scope){ 


       $scope.names = ['Larry','Curly', 'Moe']; 

       $scope.addName = function(){ 

        $scope.names.push($scope.enteredName); 
        $scope.enteredName = ''; 

       }; 

       $scope.removeName = function(name){ 

        var i = $scope.names.indexOf(name); 

        $scope.names.splice(i, 1); 
       }; 

    });  
</script> 



</body> 
</html> 

https://jsfiddle.net/eqk5adc1/3/

+0

從框架和擴展中選擇AngularJS下拉在jsfiddle中,它將起作用 – 2015-03-31 07:14:56

+0

工作正常:: https://jsfiddle.net/eqk5adc1/5/ – 2015-03-31 07:15:47

+0

總是檢查這種情況下的控制檯 - 你可以看到「角度不是定義「,因爲你沒有包括它。 – MSadura 2015-03-31 07:16:20

回答

2

https://jsfiddle.net/5qv2e2jm/ 嘗試添加該

<script src="//ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
+0

是的這個工程(剛剛取代角的來源)。但是在我的機器上,當我下載Angular並在我的機器上獲得源代碼時,它不起作用,這就是我在這裏發佈的原因,因爲像你們指出的那樣,代碼是好的。 – user3050538 2015-03-31 08:40:58

+0

只是試着確保你的目錄指向正確的地方,然後再做一個像你這樣的相對路徑,從一個完整的路徑(C:\ ... \ angular.min.js)開始,然後繼續前進。 – hogarth45 2015-03-31 15:13:05

+0

@ user3050538當你說「在我的機器上」時,你是在計算機上運行一個服務器,還是從硬盤上打開HTML文件? – Goblinlord 2015-04-01 00:07:16

0

根據意見,這聽起來像你很可能遇到了安全問題。出於安全原因,現代瀏覽器通常可以防止從本地文件系統加載外部js文件。這取決於您使用的瀏覽器。欲瞭解更多信息,這個安全概念被稱爲same-origin policy

「這是一個JavaScript框架,所以在我看來,一臺服務器可以省略......」

這未必是真實的,因爲上述安全概念。如果您使用的是Firefox,你可以使用以下步驟禁用該安全功能(雖然我會建議只是暫時的):

  1. 導航到about:config
  2. 在搜索欄中鍵入security.fileuri.strict_origin_policy
  3. 將此屬性設置爲false 。

這些步驟應該允許本地js文件在Firefox中加載。最後,簡單地設置服務器或使用便宜的雲服務器(谷歌,亞馬遜,c9.io等)可能會更容易。另一種選擇可能就是像上面那樣使用jsfiddle。