- EmberJS教程
- EmberJS——主页
- EmberJS——概述
- EmberJS——安装
- EmberJS——基本概念
- 创建和运行应用程序
- EmberJS——对象模型
- EmberJS——路由器
- EmberJS——模版
- EmberJS——组件
- EmberJS——模型
- EmberJS——管理依赖项
- EmberJS——应用程序注意事项
- EmberJS——配置Ember.js
- EmberJS——Ember检查器
- EmberJS有用资源
- EmberJS——快速指南
- EmberJS——有用资源
- EmberJS——讨论
EmberJS——经过didRender渲染的DOM
didRender钩子在模板渲染时用于更新DOM。
语法
import Ember from 'ember'; export default Ember.Component.extend({ ... didRender() { //code here }, ... })
示例
以下示例描述了didRender 钩子的用法,它更新DOM。使用post-action名称创建一个组件,该组件将在app/components/下定义。
打开post-action.js文件并添加以下代码 −
import Ember from 'ember'; export default Ember.Component.extend ({ didInitAttrs(options) { console.log('didInitAttrs', options); }, didUpdateAttrs(options) { console.log('didUpdateAttrs', options); }, willUpdate(options) { console.log('willUpdate', options); }, didReceiveAttrs(options) { console.log('didReceiveAttrs', options); }, willRender() { console.log('willRender'); }, didRender() { console.log('didRender'); }, didInsertElement() { console.log('didInsertElement'); }, didUpdate(options) { console.log('didUpdate', options); }, });
现在,使用以下代码打开组件模板文件post-action.hbs −
<p>name: {{name}}</p> <p>attrs.data.a: {{attrs.data.a}} is in console</p> {{yield}}
打开index.hbs文件并添加以下代码:−
<div> <p>appName: {{input type = "text" value = appName}}</p> <p>Triggers: didUpdateAttrs, didReceiveAttrs, willUpdate, willRender, didUpdate, didRender</p> </div> <div> <p>data.a: {{input type = "text" value = data.a}}</p> </div> <hr> {{post-action name = appName data = data}} {{outlet}}
在app/controller/下创建一个index.js文件,其中包含以下代码:−
import Ember from 'ember'; export default Ember.Controller.extend ({ appName:'TutorialsPoint', data: { a: 'output', } });
输出
运行Ember服务器;您将收到以下输出:−
打开控制台,您将获得如下图所示的输出:−
emberjs_component.htm
广告