首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angularjs - url params:单击时返回到url中的角vars。

Angularjs - url params:单击时返回到url中的角vars。
EN

Stack Overflow用户
提问于 2015-03-25 12:36:46
回答 2查看 31关注 0票数 1
代码语言:javascript
复制
<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视图显示了ng-click="go('pair/EUR/GBP')",但是当单击时,我在pair/%7B%7Bmessage.currencyFrom%7D%7D/%7B%7Bmessage.currencyTo%7D%7D上结束了

似乎这个url是以原始的角瓦的形式传递的。

我尝试在循环中添加代码,但也显示了相同的行为。

我尝试先启动一个变量并将其传递给go函数:

ng-init="var url = 'pair/{{message.currencyFrom}}/{{message.currencyTo}}'"

我想不出这有什么关系,但我现在说:

代码语言:javascript
复制
$scope.go = function ( path ) {
        $location.path( path );
    };
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-25 12:40:43

就像这样:

代码语言:javascript
复制
ng-click="go('pair/' + message.currencyFrom + '/' + message.currencyTo)"

这是因为您在ng-click中编写表达式,而不是模板。ng-init也是如此。

指令中的

代码语言:javascript
复制
scope: {
    foo: '=', // This means `foo` must be an expression
    bar: '@' // This means `bar` must be template
}

See this question for detailed explanation

票数 1
EN

Stack Overflow用户

发布于 2015-03-25 12:42:03

“{{}”将被计算为字符,而不是有效的角码。改为:

代码语言:javascript
复制
go('pair/' + message.currencyFrom + '/' + message.currencyTo); 

角将作为Javascript代码处理ng单击中的引号之间的所有内容,因此不需要使用“{{”或“}”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29255871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档