EmberJS - 对象模型动态更新

计算属性检测对属性所做的更改,并在使用 set() 方法调用时动态更新计算属性。

语法

ClassName.set('VariableName', 'UpdatedValue');

示例

以下示例显示了对属性进行更改时动态更新的值 −

import Ember from 'ember';

export default function() {
   var Person = Ember.Object.extend ({
      firstName: null,
      lastName: null,
      age: null,
      mobno: null,
      
      //定义 Details1 和 Details2 计算属性函数
      Details1: Ember.computed('firstName', 'lastName', function() {
         return this.get('firstName') + ' ' + this.get('lastName');
      }),

      Details2: Ember.computed('age', 'mobno', function() {
         return 'Name: ' + this.get('Details1') + '<br>' + ' Age: ' + this.get('age') + 
            '<br>' + ' Mob No: ' + this.get('mobno');
      }),
   });

   //初始化人员详细信息
   var person_details = Person.create ({
      //动态更新属性
      firstName: 'Jhon',
      lastName: 'Smith',
      age: 26,
      mobno: '1234512345'
   });

   //使用 set() 方法更新 'firstName' 的值
   person_details.set('firstName', 'Steve');
   document.write("<h2>Details of the Person: <br></h2>");
   document.write(person_details.get('Details2'));
}

现在打开 app.js 文件并在文件顶部添加以下行 −

import dynamicupdating from './dynamicupdating';

其中,dynamicupdating 是指定为"dynamicupdating.js"并在"app"文件夹下创建的文件的名称。

接下来在导出之前,在底部调用继承的"dynamicupdating"。它执行在 dynamicupdating.js 文件中创建的 dynamicupdating 函数 −

dynamicupdating();

输出

运行 ember 服务器,您将收到以下输出 −

Ember.js 动态更新

emberjs_object_model.html