2016-12-10 4 views
0

私はAngular.jsを学んでいます。私はformを作りたいと思っています。ユーザーは出力を見ることができます。ここでAngular ng-bindがコントローラに接続されないのはなぜですか?

test.htmlです:

<head> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0-rc.2/angular.js"></script> 
<script src="test.js"></script> 
</head> 
<body ng-app="charter"> 
    <div id="layout-wrapper" ng-controller="graphicLanguageCTRL"> 
     <form id="graphic-language" ng-controller="graphicLanguageCTRL" novalidate> 
      <h3>Language</h3> 
      <input type="text" name="headline" placeholder="Headline" ng-model="graphic.hed"> <br> 
     </form> 
    </div> 
    <h1 class="graphic-title" ng-bind="graphic.hed"></h1> 
</body> 

ここtest.jsです:

var app= angular.module("charter",[]); 
app.controller("graphicLanguageCTRL",function($scope){ 
    $scope.master= { 
     hed: '' 
    }; 
}); 

私はinputタグに入力されたものがh1タグで表示されるようにしたいです。しかし、inputタグを入力すると、h1タグには何も表示されません。

これを修正するにはどうすればよいですか?

答えて

2

あなたのコードにはエラーがあります:

  • 、あなたが
  • 間違った変数名を設定している graphicLanguageCTRL二回
  • スクリプトでの初期化されているコントローラ
  • の外にNG-バインドを使用しています

以下は固定コードです。

html

<body ng-app="charter"> 
    <div id="layout-wrapper" ng-controller="graphicLanguageCTRL"> 
    <form id="graphic-language" novalidate> 
     <h3>Language</h3> 
     <input type="text" name="headline" placeholder="Headline" ng-model="graphic.hed"> <br> 
    </form> 
    <h1 class="graphic-title" ng-bind="graphic.hed"></h1> 
    </div> 
</body> 

JS

var app = angular.module("charter",[]); 

app.controller("graphicLanguageCTRL", function($scope){ 
    $scope.graphic = { 
    hed : '' 
    }; 
}); 
0
var app = angular.module("charter",[]); 
app.controller("graphicLanguageCTRL",function($scope){ 
    $scope.graphic = { 
     hed: '' 
    }; 
}); 

または

var app = angular.module("charter",[]); 
app.controller("graphicLanguageCTRL",function($scope){ 
    $scope.graphic = {}; 
    $scope.graphic.head = '' 
}); 
+0

有用。 – Christoph

0

2のものが世話をする必要があります

  • ない巣を行うと同じng-controllerを使用
  • h1 ng-controller 内のブロックを移動し

を修正バージョン:必要な最小のコードを削減し、より多くの質問をするためにいくつかのコメントを追加

var app = angular.module('charter', []); 
 
app.controller("graphicLanguageCTRL", function($scope) { 
 
    $scope.graphic = { 
 
    hed: '' 
 
    }; 
 
});
<!DOCTYPE html> 
 
<html> 
 
    <head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0-rc.2/angular.js"></script> 
 
    <meta charset="utf-8"> 
 
    <title>test</title> 
 
    </head> 
 
    <body ng-app='charter'> 
 
    <div id="layout-wrapper" ng-controller="graphicLanguageCTRL"> 
 
    <form id="graphic-language" novalidate> 
 
     <h3>Language</h3> 
 
     <input type="text" name="headline" placeholder="Headline" ng-model="graphic.hed"> 
 
     <br> 
 
    </form> 
 
    <h1 class="graphic-title" ng-bind="graphic.hed"></h1> 
 
    </div> 
 
    </body> 
 
</html>

関連する問題