初始化角度控制器变量

时间:2015-12-03 00:33:15

标签: angularjs angularjs-scope angularjs-controlleras

我遇到的问题是我的控制器变量没有根据控制器代码正确初始化。

控制器代码是

t = c(1,2,3)
t[c(1,NA)]

ui-router是

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

我有一个验证基本的html来显示模型的输出:

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

在chrome中调试代码时,它会通过控制器代码并正确设置模型和数据,但是当页面加载完成后,vm.model就是空白。我不确定我做错了什么。

提前致谢。

2 个答案:

答案 0 :(得分:0)

尝试将此作为HTML正文标记:

<body ng-controller="RegisterCtrl as vm" ng-app="test">

答案 1 :(得分:0)

为了达到此目的,我建议您使用 $ scope.model ,而不是 var

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>