角度 - 控制器上的单击功能

时间:2016-10-19 09:54:35

标签: angularjs

提前抱歉,但这个问题可能有点模糊,而且我没有太多的例子。

我需要一种开关点击元素来隐藏并显示另一个元素。

我喜欢这样。

remark : my site using ssl https.

我的问题是我想把它移到控制器而没有html中的逻辑

所以它看起来像这样

    <div ng-click="showTask = !showTask">
        Show Task
    </div>

    <div ng-if="showTask">
        TASK
    </div>

我的问题是控制器上的代码

    <div ng-click="theCtrl.showContainer()">
        Show Task
    </div>

    <div ng-if="someTask">
        TASK
    </div>

我使用Angular 1但使用的是Typescript。

精简控制器看起来像这样

    private showContainer(showContact){
        this.showTask = !this.showTask;
    }

3 个答案:

答案 0 :(得分:0)

您需要在控制器中创建一个范围功能:

$scope.showContainer = function(){
    $scope.someTask = !$scope.someTask;
}

并在html中调用它:

<div ng-click="showContainer()"></div>

答案 1 :(得分:0)

请仔细检查以下示例,您可以创建可以从angularjs视图调用的函数,如下所示。

 <div ng-click="theCtrl.showContainer()">
    Show Task
</div>

<div ng-if="someTask">
    TASK
</div>

并且在您的控制器中,您必须声明您的功能,如下所示

 this.showContainer = function(showContact){
    this.showTask = !this.showTask;
}

答案 2 :(得分:0)

<div ng-controller="myController as theCtrl">
   <div ng-click="theCtrl.showContainer()">
        Show Task
    </div>

    <div ng-if="theCtrl.someTask">
        TASK
    </div>
</div>

您的控制器可能类似,

app.controller('myController', ['$scope',
        function($scope) {
        var vm = this;
        vm.showContainer(){
                vm.showTask = !vm.showTask;
        }
    }])