从Application Controller传递的组件属性包含无效的字符错误

时间:2017-10-03 12:50:24

标签: ember.js

我的应用程序控制器正在正确观察当前路径。我不知道问题是财产的传递还是控制器上的财产设置。

应用程序控制器:

import Ember from 'ember';

export default Ember.Controller.extend({
  currentUrl: null,
  currentPathDidChange: function() {
    return window.location.href;
    // alert(currentUrl);
  }.observes('currentPath').property('currentUrl')

});

模板:

<h2>page 1234</h2>
{{social-footer-login pageUrl=controllers.application.currentUrl}}

组件:

<h2>social footer component</h2>

<div id="footer-container">
  <div class="facebook">
    <span id="facebook-text">f</span>
  </div>
  <div class="linkedin">
    <span id="linkedin-text">in</span>q
  </div>
  <div class="fb">
    <div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-size="small" data-mobile-iframe="false"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=" + pageUrl>Share</a></div>
  </div>
</div>

错误: 字符串包含无效字符 的setAttribute @ http://localhost:4200/assets/vendor.js:16331:21

1 个答案:

答案 0 :(得分:0)

您的pageUrl变量需要以兼容Handlebars的方式使用。不要使用Javascript追加,而是直接使用模板中的{{pageUrl}}引用它:

<div class="fb-share-button" data-href="https://developers.facebook.com/docs/plugins/" data-layout="button" data-size="small" data-mobile-iframe="false"><a class="fb-xfbml-parse-ignore" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u={{pageUrl}}">Share</a></div>

那应该有用。