应用程序配置与ng-controller中的Angularjs控制器名称

时间:2015-10-09 16:47:50

标签: javascript angularjs ionic

我有范围变量的问题。这是案例;

案例1:使用ng-controller标签在html中指定控制器名称。在这种情况下,alert打印输入变量。

   <ion-view view-title=“TEST”>
      <ion-content ng-controller=‘TestController’>

       <input name="aaa" id="dsds" ng-model="aaa" type="text"/>
            <h3>{{aaa}}</h3>

              <button class="button" ng-click=“test()”>Test</button>

      </ion-content>
    </ion-view>

   //CONTROLLERS//
    $scope.test = function(sql){
        var x = $scope.aaa;
        alert(x);
    };

案例2:当我在配置中定义控制器时,以下警告“未定义”

state('app.test’, {
     url: ‘/test’,

     views: {
       'menuContent': {
      controller: 'TestController',
         templateUrl: 'templates/programs/test.html'
       }
     }
   })

<ion-view view-title=“TEST”>
  <ion-content>

   <input name="aaa" id="dsds" ng-model="aaa" type="text"/>
        <h3>{{aaa}}</h3>

          <button class="button" ng-click=“test()”>Test</button>

  </ion-content>
</ion-view>

   //CONTROLLERS//

$scope.test = function(sql){
    var x = $scope.aaa;
    alert(x);
};

在案例2中,如果我用ng-model =“$ parent.aaa”更改ng-model =“aaa”,则alert会获取值。

所以我的问题是在应用程序配置部分给出控制器名称和ng-controller属性

之间的区别是什么

由于

1 个答案:

答案 0 :(得分:0)

此情况仅适用于Ionic。因为Ionic是基于Angular Directive的框架。所有指令都已经自我控制器所以如果你声明 ng-model =“aaa”那么它的变量与自控制器$范围变量绑定。

你也可以在github上看到Ionic并找到 .directive('ionView'你看到内部指令已经定义了一个控制器。我认为这是可能的条件。

Ionic git hub

相关问题