切换与Angular的链接

时间:2015-02-27 00:38:23

标签: angularjs twitter-bootstrap toggle anchor

我试图用AngularJS切换一个bootstrap well class。 它在我添加控制器类之前工作正常,但在此之后,页面只是重定向到'#'。

这是添加控制器之前的代码。

<div id="advanced-search">
        <h4><a ng-click="toggle=!toggle" href="">Advanced</a></h4>
    </div>
    <div id="search-filters" class="well" ng-show="toggle">
        <label>
            <input type="checkbox">Tests</label>
        <label>
            <input type="checkbox">Certifications</label>
    </div>

控制器之后

<form ng-controller="SearchCtrl" ng-submit="submit()">

    <div class="input-group" id="search-input">
        <input type="text" id="search-bar" class="form-control input-lg" ng-model="text">
        <span class="input-group-btn">
            <button class="btn btn-default btn-lg" id="search-button" type="submit">
                <span class="glyphicon glyphicon-search" aria-hidden="true"></span>
        </button>
        </span>
    </div>

    <div id="advanced-search">
        <h4><a ng-click="toggle = !toggle" href="#">Advanced</a></h4>
    </div>
    <div id="search-filters" class="well" ng-show="toggle">
        <label>
            <input type="checkbox">Tests</label>
        <label>
            <input type="checkbox">Certifications</label>
    </div>

</form>

4 个答案:

答案 0 :(得分:0)

为'href'属性添加值。

<a ng-click="toggle=!toggle" href="javascript://">Advanced</a>

答案 1 :(得分:0)

删除你的href:

<a ng-click="toggle = !toggle">Advanced</a>

或者改变它的范围:

<span ng-click="toggle = !toggle">Advanced</span>

答案 2 :(得分:0)

你有没有写过控制器?当我将你的代码粘贴到plunker中时,它首先没有工作,直到我定义了你的控制器然后它开始工作

http://embed.plnkr.co/lhhkdUEEF17dGpWMqNrd/preview

如果您已经编写了控制器,请检查它是否正确连接,并且控制台中没有任何错误可以阻止角度工作。

答案 3 :(得分:0)

请尝试从FORM标签移动ng-controller并将其放入Form标签上方的div中,例如:

<div ng-controller="SearchCtrl">
<form>
</form>
</div>