21

我目前开始学习使用 Ember.js 进行 Web 应用程序开发。目前有一些非常基本的东西我还没有实现。链接到外部 URL,例如 www.google.com 或其他。这就是我所拥有的:

HTML

<body>
    <script type="text/x-handlebars">
    <div>
      Hello, <strong>{{firstName}} {{lastName}}</strong>!
    </div>

      {{#linkTo google}}Google{{/linkTo}}

    </script>
</body>





$(document).ready(function() {



//alert("HELLO WORLD");
window.App = Ember.Application.create();

App.ApplicationController = Ember.Controller.extend({
    firstName: "Trek",
    lastName: "Glowacki",
    googleURL: "www.google.com/ncr"
});

App.Router.map(function() {
    this.route("google", {
        path: "www.google.com"
    });

});

});

当链接呈现时它确实有效,但它会转到以下地址:E:/EMBERJS/index.html#/www.google.com

任何提示将不胜感激。我不敢相信我自己没有弄清楚这一点,但一点点外部帮助不会受到伤害。

问候,

4

2 回答 2

41

您不想为此使用linkTo助手。帮助器用于在您的linkToEmber.JS 应用程序中转换到其他状态,而您正试图将人们从您的应用程序中移开。

您可以使用两种方法:

  1. 这会将您绑定targetUrl到您的锚点,但如果 URL 更改,它将不会更新。

      <a target="_blank" href="{{unbound view.targetUrl}}">Google</a>

  2. targetUrl下一种方法将绑定到锚点,如果您更新对象的属性,它将相应地更新该锚点:

    <a target="_blank" {{bindAttr href="view.targetUrl"}}>Google</a>

这是给你的 JSFiddle:http: //jsfiddle.net/zscff/

于 2013-02-08T17:15:36.583 回答
0

如前所述,您不需要使用链接到帮助程序。你只需要使用简单的锚标签<a> </a>

我只是有同样的问题。为了解决这个问题,你只需要小心锚标签。
例如,如果您像这样输入链接 <a href='www.example.com'> example </a>,Ember 将生成以下链接
localhost:4200/www.example.com

但是,如果您将 http,添加到 href 属性,则一切正常。
<a href='http://www.example.com'> example </a>.
输出是www.example.com

希望能帮助到你。

于 2017-01-03T08:34:31.587 回答