将网站重新设计为Ember
Restyling a website into Ember
我的任务是将一个网站重写为Ember应用程序。到目前为止,一切都很好,我了解Ember路由、模型、控制器等的基本知识。不过,我现在还不太了解细节。现在我遇到了如何实现Ember视图和属性绑定的问题。我有这样一个元素:
<a class="someClass" href="http://example.com" data-imgone="public/images/firstimg.jpg" data-imgtwo="public/images/secondimg.jpg" data-title="someTitle" data-description="someDescription">
<div>
<!-- some stuff -->
</div>
</a>
正如我所理解的(很可能是错误的,哈哈),我应该在我的脚本中创建这个元素作为视图:
App.MyView = Ember.View.extend({
tagName: 'a',
attributeBindings: ['href', 'data-imgone', 'data-imgtwo', 'data-title', 'data-description'],
href: 'http://example.com',
'data-imgone': "public/images/firstimg.jpg",
'data-imgtwo': "public/images/secondimg.jpg",
data-title="someTitle",
data-description="someDescription"
});
然后我应该用视图助手调用myView:
{{#view 'App.MyView}}
<div>
<!-- some stuff -->
</div>
{{/view}}
这不起作用,元素没有被渲染。请告诉我我做错了什么。我是否完全误解了观点和属性绑定的观点?此外,如果有人对我这样的任务有任何建议/策略,请分享!
您不需要一个引号来指定要渲染的视图。这应该足够了:
{{#view App.SomeView}}Link Text{{/view}}
在类中声明数据属性时也不需要引号。数据属性可以这样映射:
App.SomeView = Em.View.extend({
tagName: 'a',
attributeBindings: ['href', 'dataImgone:data-imgone'],
href: 'http://emberjs.com',
dataImgone: "public/images/firstimg.jpg",
});
(参见jsbin)
注意,在attributeBindings
中,我将传递函数/属性,该函数/属性提供一个后面跟着:attributename
的属性,在本例中是data-imgone
,作为['dataImgone:data-imgone']
。
相关文章:
- 强制模板刷新ember.js
- 如何识别我的网站中的慢速设备
- Ember Data DS.Model's set函数不起作用
- 用Javascript更改我网站上的字体大小
- 有任何可能将facebook实时信使整合到一个网站中
- 将电视直播频道从网站嵌入我的网站
- Windows 8固定的网站互动程序
- Ember.js-接口状态应该存储在哪里
- 门户网站:当地时间有多有用
- 正在删除node.js中已验证的网站
- 为什么在这个网站上不能通过JS访问元素
- 在ember/handlers中使用value和valueBinding有什么区别
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 需要使用谷歌应用程序脚本列出谷歌域下的所有网站
- 为什么只有工厂在棱角分明的网站上被提及
- 从应用程序脚本检查谷歌网站访问权限
- 将Ember.js用于单页网站(不是真正的网络应用程序)
- Chrome 内容脚本未在 Ember 网站上执行
- 将网站重新设计为Ember
- 如果我插入到嵌套出口的链接,Ember网站就会崩溃