我正在使用Knockoutjs来呈现用户个人资料页面。我正在调用一个Web API服务,该服务返回用户详细信息及其配置文件图片。
var MessageFrom = {
FromUserProfileId: self.FromUserProfileId,
FromUserName: self.FromUserName,
FromUserPictURL: self.FromUserPictURL
}
<div id="comments" class="comments" data-bind="with: viewModel">
<div class="comment clearfix" data-bind="foreach: Messages">
<div class="comment-avatar">
<img class="img-circle" data-bind="attr:{'src': FromUserPictURL}" alt="avatar">
</div>
<header>
<h3 data-bind="text: FromUserName"></h3>
<div class="comment-meta"><p data-bind="text: moment(DatePosted).format('LLL')"></p> </div>
</header>
<div class="comment-content">
<div class="comment-body clearfix">
<p data-bind="text: MessageBody"></p>
</div>
</div>
</div>
</div>
从WebAPI返回的图像的URL是相对URL,如〜/ Content / Member / Image1.jpg。虽然它与图片网址的绑定显示为&#34; http://sitename.com/profile/~/Content/Member/Image1.jpg&#34;。
一切都很好接受个人资料图片
我需要在绑定上工作,因为我无法更改来自数据库的路径。
感谢您的建议。
此致
答案 0 :(得分:0)
你的绑定看起来没问题。对于初学者,我会使用您的IE或Chrome开发人员工具(F12)并手动更改图像的src,以找出适合您的内容。
你说你接受了这个:〜/ Content / Member / Image1.jpg
将src设置为:/Content/Member/Image1.jpg
一旦你确定需要什么,就可以像这样更改你的消息对象,但我认为这应该足够了:
var MessageFrom = {
FromUserProfileId: self.FromUserProfileId,
FromUserName: self.FromUserName,
FromUserPictURL: self.FromUserPictURL.replace('~','')
}