2016-12-30 70 views
-3

以下代碼未顯示或更新<p>標記中的nam值。請幫助!大括號未顯示角度值

<html ng-app> 
<head></head> 
<body> 
<input ng-model = "nam.a" ng-controller = "myControl"> 
<p> Hello {{nam.a}} </p> 
<script> 
function myControl($scope){ 
$scope.nam = { 
    a : "abcdefg" 
}; 
}; 
</script> 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script> 
</body> 
</html> 
+0

你確定這是角? – Aravind

回答

0

在你的代碼沒有創建NG-應用,NG-控制器中還錯誤的方式綁定的控制器。這是正確的實施。看看這個例子。

<!DOCTYPE html> 
 
<html> 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script> 
 

 
<body> 
 

 
    <div ng-app="myApp" ng-controller="myControl"> 
 

 
     <input ng-model="nam.a" > 
 
     <p> Hello {{nam.a}} </p> 
 
    </div> 
 

 
    <script> 
 
     var app = angular.module('myApp', []); 
 
     app.controller('myControl', function ($scope) { 
 
      $scope.nam = { 
 
       a: "abcdefg" 
 
      }; 
 
     }); 
 
    </script> 
 

 
</body> 
 

 
</html>

+0

是的,它的工作原理。我的ng-controller實現有什麼問題? – HyperVol

+0

您的角度控制器聲明是錯誤的。在這裏尋找examples.http://www.w3schools.com/angular/angular_controllers.asp – Nitheesh

-1

你應該寫這樣的

 <body ng-controller="myControl"> 
      <input ng-model = "nam.a"> 
      <p> Hello {{nam.a}} </p> 
     </body> 

https://plnkr.co/edit/M5n5Zb3v3J9W9Mx65cub?p=preview

+0

是的,那是有效的。你有什麼想法爲什麼? – HyperVol

+0

你應該在你真正的代碼開始之前聲明你的ng-controller,就像我在body中聲明的那樣。它的工作知道..爲什麼downvote呢? – Sharmila

1

應指定在HTML頁面中的應用程序模塊。

<html ng-app="Test"> 

<body ng-controller = "myControl"> 
<input ng-model = "nam.a"/> 
<p> Hello {{nam.a}} </p> 

然後像下面那樣注入模塊和控制器。

var app = angular.module('Test', []); 
app.controller('myControl', function($scope) { 
     $scope.nam = { 
    a : "abcdefg" 
}; 
}); 
-2

<html> 
 
<body ng-app="yourAppName"> 
 
    
 
    <div ng-controller="myControl"> 
 
    <input ng-model="nam.a"> 
 
    <p> Hello {{nam.a}} </p> 
 
    </div> 
 
    
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script> 
 

 
    <script> 
 
    angular.module('yourAppName', []) 
 
     .controller('myControl', function($scope) { 
 
     $scope.nam = { 
 
      a: 'abcdefg' 
 
     } 
 
     }); 
 
    </script> 
 
</body> 
 
</html>

  • 使用angular創建一個模塊(在本例中,我把它叫做yourAppName),您在HTML中ng-app指令引用
  • ng-controller指令父元素,無論您在何處參考$scope
  • 創建使用angular.module(...).controller(),而不是隻建立一個隨機JavaScript函數