EmberJS - 对象模型链接计算属性



链接计算属性用于将一个或多个预定义计算属性聚合在单个属性下。

语法

var ClassName = Ember.Object.extend ({
   NameOfComputedProperty1: Ember.computed(function() {
      return VariableName;
   }),

   NameOfComputedProperty2: Ember.computed(function() {
      return VariableName;
   });
});

示例

以下示例说明如何使用计算属性作为值来创建新的计算属性 -

import Ember from 'ember';

export default function() {
   var Person = Ember.Object.extend ({
      firstName: null,
      lastName: null,
      age: null,
      mobno: null,
      
      //Defining the Details1 and Details2 computed property function
      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 ({
      //initializing the values for variables
      firstName: 'Jhon',
      lastName: 'Smith',
      age: 26,
      mobno: '1234512345'
   });
   
   document.write("<h2>Details of the Person: <br></h2>");
   //displaying the values by get() method
   document.write(person_details.get('Details2'));
}

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

import chainingcomputedproperties from './chainingcomputedproperties';

其中,chainingcomputedproperties 是指定为“chainingcomputedproperties.js”的文件名,并创建在“app”文件夹下。

现在,在导出之前,在底部调用继承的“chainingcomputedproperties”。它执行在 chainingcomputedproperties.js 文件中创建的 chainingcomputedproperties 函数 -

chainingcomputedproperties();

输出

运行 Ember 服务器,你将收到以下输出 -

Ember.js Chaining Computed Properties
emberjs_object_model.htm
广告