如何在Angular Strap的下拉列表中使用Angular表达式?

时间:2015-03-07 21:11:13

标签: javascript angularjs drop-down-menu

我正在为我的一个项目使用AngularJS和Angular Strap插件。在页面上我有一张桌子。其中一列包含一些链接。

点击链接后,我弹出Angular Strap的下拉菜单(作为上下文菜单)。

此菜单包含两个项目:

  • 细节,
  • 板。

点击详细信息项目开放式Angular Strap撇开(显示一些数据) - 这个工作正常。

问题是,第二项应该重定向到特定页面(使用下拉列表< href属性)。我的问题是 - 如何在这个href属性中使用角度表达式?

我的观看代码的一部分 - 带下拉列表:

<button type="button" class="btn btn-link"
    ng-click="selectGroup(group)"
    data-html="1"
    data-animation="am-flip-x"
    data-placement="bottom",
    bs-dropdown="dropdown">
        {{ group.name }}
</button>

来自控制器的Bs-dropdown定义下拉定义:

$scope.dropdown = [
    {
        text: "Details",
        click: "showDetails()" // Opens up Angular Strap's aside.
    },
    {
        text: "Board",
        href: "/group/{{ $scope.group.number }}" // Not evaluated.
    }
];

点击&#34; Board&#34;下拉列表的项目重定向为:&#34; 127.0.0.1:8000 /#/ group / {{group.number}}&#34;而不是(即)&#34; 127.0.0.1:8000 /#/ group / 2&#34;。

作为一种解决方法,我创建了另一种方法(即)openBoard(),如下所示:

var openBoard = function() {
    var groupNumber = $scope.group.number;
    window.location.href="127.0.0.1:8000/#/" + groupNumber;
}

在&#34; Board&#34;中调用此方法item的点击工作正常,但会导致其他一些问题 - 更多 - 这不是我想要的方式(语义不正确)。

最后还有一件事。每当页面加载(和控制器已初始化)时,$ scope.group中存储的值都是未定义的。每当点击组链接(来自上面提到的表格)时,我都会设置一个正确的值(显示下拉列表前的一刻)。

任何人都有任何想法如何在Angular Strap的下拉列表中使用Angular表达式(在href中)?

2 个答案:

答案 0 :(得分:1)

由于$scope.group成员在创建下拉列表时无法启动,因此href: "/group/{{ $scope.group.number }}"会向href: "/group/undefined"生成$scope.dropdown = [ { text: "Details", click: "showDetails()" // Opens up Angular Strap's aside. } ]; 。因此,我建议您最初使用一个值加载下拉列表,

$scope.dropdown.push({
    text: "Board",
    href: "/group/" + $scope.group.number
});

&安培;每当获取组值时,请指定第二个下拉选项

{{1}}

希望这项工作可以帮到你,谢谢。

答案 1 :(得分:0)

我认为您必须为此{{ $scope.group.number }}

更改/group/group.number