href中的$ scope - AngularJS

时间:2015-11-24 13:58:25

标签: javascript jquery angularjs

我有一个像下面这样的数组;

$scope.cart = [];

这包含id,name等项目。

如何将项目包含在href中,如下所示;

<a href="http://www.example.co.uk/search-menu/{{$scope.cart.restaurant_id}}/test">

这不起作用。

我也尝试过使用ng-repeat=item in cart

FYI 当我console.log($scope.cart)时,我得到了以下内容;

[Object]
0: Object
cookie_id: "j0m3hdkf4c371nueajdi9gf4f3"
date: "0000-00-00"
day: ""
id: "92"
location: ""
restaurant_id: "1"
time: "00:00:00"
user_id: "63"

3 个答案:

答案 0 :(得分:4)

其双向数据绑定的魔力

在angularjs中使用ng-href指令

删除锚标记中的$scope。您可以直接访问视图部分中的范围变量。在控制器部分,我们只使用$scope对象不需要html视图。

<a ng-href="http://example.co.uk/search-menu{{cart[0].restaurant_id}}/test">

答案 1 :(得分:0)

ng-repeat应该可以正常工作。但是您应该使用ng-href进行尝试,如下所示......

在您的HTML中:

ng-repeat="item in cart" ng-href="yourUrl/{{item.id}}"

在您的控制器中:

$scope.cart = [ cart1, cart2, ...];

如果您收到任何错误,我真的很乐意在这里看到它们!

答案 2 :(得分:0)

我要做的第一件事就是删除控制器中的$scope并将其替换为this

this.cart = [];

然后在你的View中你可以使用 Controller As 声明,然后你会得到点符号(这是更好的方法)

例如

    <div data-ng-controller="CartController as cart">
        <a ng-href="http://www.example.co.uk/search-menu/{{cart[0].restaurant_id}}/test">
    </div>