如何在离子中调用控制器?

时间:2015-04-27 11:31:22

标签: angularjs cordova ionic-framework ionic

在我的离子空白应用程序中,我有两个html文件index.html和category.html。 我在app.js中编写了index.html的控制器,如

.controller('AppCtrl',function($scope){
  $scope.menu = function() {
    console.log('yesytest');
    window.location = "category.html";
  };

})

这工作正常,在到达类别页面后,我在app.js中创建了另一个控制器

    controller('categoryCtrl',function($scope){
        console.log('ffffffffff');
    $scope.beauty = function() {
        console.log('yesytest');
        window.location = "categorydetails.html";

    };

});

我在category.html内的按钮上添加了一个ng-click功能,但是当我点击那个按钮时它没有调用控制器?

3 个答案:

答案 0 :(得分:0)

您可以在以下位置定义控制器: - 在你的ui路由器状态上定义它

    .state('camera',{
            url:"/camera",
            cache: false,
            controller:"CameraCtrl",
            templateUrl:'app/views/loading/index.html'
    })

或者将其定义为游览模板category.html

<div ng-controller="categoryCtrl"> .... </div>

这是标准的AngularJS功能,没有什么特别的离子

答案 1 :(得分:0)

如果您使用此:

.state('category',{
url:"/category",
controller:"categoryCtrl",
templateUrl:'templates/category.html'
})

您可以使用ui-sref =“stateId”进行重定向 示例:

  <a ui-sref="category"></a>

答案 2 :(得分:-2)

..嗨亲切路由您的控制器只需定义它们。这可能会有所帮助.. - &gt; http://learn.ionicframework.com/formulas/navigation-and-routing-part-1/ ^ _ ^

// app.js

 .state('category',{
    url:"/category",
    controller:"categoryCtrl",
    templateUrl:'templates/category.html'
 })

// index.html的

 <a ng-href="#/category"></a>