0

我正在尝试使用 ngclick 进行导航,但由于某种原因,当我在 ngclick 中使用表达式时,该方法无法运行。

来自未运行的模板的代码:

<ul id = "{{list.id}}" class = "list" >
    <li ng-repeat = "li in list.items" ng-click="go('/{{li.id}}')">
        <span>{{li.name}}</span>
    </li>
</ul>

来自确实运行的模板的代码:

<ul id = "{{list.id}}" class = "list" >
    <li ng-repeat = "li in list.items" ng-click="go('/1')">
        <span>{{li.name}}</span>
    </li>
</ul>

来自控制器的代码:

$scope.go = function (path) {
    alert(path);
    //$location.path(path);
};

我希望有人能指出哪里出了问题。

4

2 回答 2

3

ng-click在为;指定基于变量的参数时,您不必使用分隔符。这应该工作:

<li ng-repeat = "li in list.items" ng-click="go('/' + li.id)">

但实际上我宁愿将/前置代码包含在go函数中 - 或者只是创建另一个函数goToRoot,具有该功能。这样一来,如果您的基本路径发生更改,修改起来会更容易,其次,它会简化模板。

于 2013-09-07T21:50:07.433 回答
1

只需按如下方式使用;ngclick 不需要模板

ng-click="go('/'+li.id)"
于 2013-09-07T21:51:08.483 回答