Frameworks 如何使用LinkTo和HandelBars链接到外部URL

Frameworks 如何使用LinkTo和HandelBars链接到外部URL,frameworks,web,ember.js,handlebars.js,Frameworks,Web,Ember.js,Handlebars.js,我现在开始学习使用Ember.js进行web应用程序开发。目前,我还没有实现一些基本的目标。链接到像www.google.com之类的外部url。这就是我所拥有的: HTML 你好,{{firstName}{{lastName}! {{{链接到谷歌}}谷歌{{/linkTo} $(文档).ready(函数(){ //警报(“你好世界”); window.App=Ember.Application.create(); App.ApplicationController=Ember.Control

我现在开始学习使用Ember.js进行web应用程序开发。目前,我还没有实现一些基本的目标。链接到像www.google.com之类的外部url。这就是我所拥有的:

HTML


你好,{{firstName}{{lastName}!
{{{链接到谷歌}}谷歌{{/linkTo}
$(文档).ready(函数(){
//警报(“你好世界”);
window.App=Ember.Application.create();
App.ApplicationController=Ember.Controller.extend({
名字:“长途跋涉”,
姓氏:“格鲁沃基”,
谷歌网址:“www.google.com/ncr”
});
App.Router.map(函数(){
这条路线(“谷歌”{
路径:“www.google.com”
});
});
}))

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

如有任何提示,将不胜感激。我不敢相信我自己还没有弄明白这一点,但是一点外界的帮助不会有什么坏处

问候,


Ox

您不想为此使用
链接到
帮助程序。
linkTo
helper用于在您的Ember.JS应用程序中转换到其他状态,而您正试图将用户从应用程序中移开

您可以使用两种方法:

  • 这将把你的
    targetUrl
    绑定到你的锚,但是如果URL被更改,它不会更新

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


  • 这里有一个JSFiddle供您使用:

    正如所说的,您不需要使用指向助手的链接。 您只需使用简单的锚定标记
    ,Ember将生成以下链接
    localhost:4200/www.example.com

    但如果您将http添加到href属性,则一切都正常

    输出为www.example.com


    希望有帮助。

    您需要
    链接到
    模板的具体原因是什么?为什么不在纯HTML中使用锚定标记呢?我已经为您更新了JSFIDLE,这样您就可以理解
    unbound
    的不同之处:我们在2.5秒后更改
    targetUrl
    属性,您将看到第二个示例按预期更新,但第一个没有。它们都使用相同的属性,但是因为我们已经将第一个属性指定为
    unbound
    ,Ember不知道如何在DOM中更新它。bindAttr现在被弃用,取而代之的是bind attr
    <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"
        });
    
    });