0

コントローラー変数がコントローラー コードに従って正しく初期化されていないという問題があります。

コントローラーコードは

  angular.module('test')
  .controller('RegisterCtrl', function RegisterCtrl($scope) {
var vm = this;
   vm.model = {companyName:'aaa'};
    vm.data= [{fieldtype: 'input',key:'companyName'}]; 
});

ui-router は

  .state('register', {
        //     abstract: true,
        url: "/register",
        templateUrl: "/views/register.html",
        controller: 'RegisterCtrl',
        controlleras: 'vm'
      })

モデルの出力を表示するために、基本的な html を検証します。

<h2>Model</h2>
<pre>{{vm.model }}</pre>

Chrome でコードをデバッグすると、コントローラー コードが渡され、モデルとデータの両方が正しく設定されますが、ページの読み込みが完了すると、vm.model が空白になります。何が間違っているのかわかりません。

前もって感謝します。

4

2 に答える 2

0

この目的のために、 varの代わりに$scope.modelを使用することをお勧めします。

angular.module('test')
 .controller('RegisterCtrl',['$scope',function($scope) {
   $scope.model = {
                    companyName:'aaa'
                  };
   $scope.data= [
                 {
                   fieldtype: 'input',
                   key:'companyName'
                 }
                ]; 
 }]);

HTML

<h2>Model</h2>
<pre ng-bind="model.companyName"></pre>
<pre>{{model.companyName}}</pre>
<pre>{{model}}</pre>
于 2015-12-03T00:47:30.523 に答える