ng-click不会使用离子中的div

时间:2014-08-07 20:35:46

标签: angularjs ionic-framework

好吧,正如标题所述,我遇到了这个问题,比方说,我有一个包含多个步骤的表单,我使用ng-show属性创建了一个函数,用于将$ scope变量设置为标识符为了隐藏除了用户应该经历的步骤之外的一切,一切都运行正常,但是,我意识到表单正在每个用户点击按钮上,以继续下一部分表单。换句话说:

<button class="button button-block button-positive" ng-click="selectTab(2)">Continuar</button</label>

在表单中,制作一些像这样的div:

<div ng-show="tab === 2"> ... data goes here ... </div>

在用户导航时显示并消失,但也提交表单,但如果我更改标签,则会显示:

<label class="item">
                    <div class="button button-block button-positive" ng-click="selectTab(2)">Continuar</div>
                </label>

它根本不会起作用,我的表单不是每次点击都提交的,所以这是对情况的更新,但它也不起作用,¿为什么会发生这种情况? ¿我该怎么办?

提前致谢,很抱歉打扰你们。

4 个答案:

答案 0 :(得分:45)

如果您的按钮位于<label> ng-click内,则无效。

更改为<div><span>

答案 1 :(得分:17)

确保使用type =“button”声明您的按钮。如果不这样做,它会自动假定它是类型提交。此外,如果您只想在tab === 2时显示div,只需在ng-click中指定,不需要函数。

在selectTab(2)函数中,您应该能够将范围命名为tab的属性分配给传入函数的任何内容,激活ng-show。

$scope.selectTab = function(item) {
    $scope.tab = item;
    //Your other logic for soothe
};

是的,很奇怪标准是“提交”按钮。我认为他们认为按钮的最终目的是执行一个动作,比如提交。谢谢你的队友。

答案 2 :(得分:5)

使用点按。同时进行点击和点击点击。

<div on-tap="fireEvent()"></div>

答案 3 :(得分:0)

<label class="item">
    <div class="button button-block button-positive" ng-click="selectTab == 2">Continuar</div>
</label>

你应该试试