javascript - Angularjs - 网址参数 : When clicked returns to angular vars in the url

标签 javascript angularjs ngroute

<tbody>
   <tr ng-repeat="message in messages" ng-click="go('pair/{{message.currencyFrom}}/{{message.currencyTo}}')">
      <td>{{ message.currencyFrom }}/{{ message.currencyTo }}</td>
      <td>{{ message.amountSell }}</td>
      <td>{{ message.amountBuy }}</td>
      <td>{{ message.rate }}</td>
   </tr>
</tbody>

chrome 的检查中的 dom View 显示 ng-click="go('pair/EUR/GBP')" 但是当我点击时我最终出现在 pair/%7B%7Bmessage .currencyFrom%7D%7D/%7B%7Bmessage.currencyTo%7D%7D

似乎 url 是作为原始 Angular 变量传递的。

我已经尝试在循环中添加代码,但表现出相同的行为。
我尝试先初始化一个变量并将其传递给 go 函数:
ng-init="var url = 'pair/{{message.currencyFrom}}/{{message.currencyTo}}'"

我无法想象它是相关的,但现在开始:

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

最佳答案

像这样尝试:

ng-click="go('pair/' + message.currencyFrom + '/' + message.currencyTo)"

这是因为你在 ng-click 中写了表达式,而不是模板。与 ng-init 相同。

在指令中:

scope: {
    foo: '=', // This means `foo` must be an expression
    bar: '@' // This means `bar` must be template
}

See this question for detailed explanation

关于javascript - Angularjs - 网址参数 : When clicked returns to angular vars in the url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29255871/

相关文章:

angularjs - Angular 路线错误

javascript - 稍微旋转文本——我应该使用 css 还是 javascript?

javascript - 文件系统 API - 从本地驱动器上传到本地文件系统

javascript - 显示多个过滤器的 AngularJS ng-repeat 过滤器长度

angularjs - 模板未在 Angular 路由中加载

javascript - Angular 路由 Controller 无限循环

javascript - float 图调整大小错误,高度无效

javascript - 在可点击框内创建可点击链接(<a href> 内的 ActionLink)

angularjs - 如何在不使用 $scope 的情况下使用 $emit/$ on?

javascript - 无法在我的 Angular 应用程序中包含routeProvider