當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Embeer.js MutableArray pushObject()用法及代碼示例


Ember.js 是一個開源 JavaScript 框架,用於開發基於 Model-View-Controller (MVC) 架構的大型客戶端 Web 應用程序。 Ember.js是使用最廣泛的前端應用框架之一。它的目的是加速開發並提高生產力。目前,它被大量網站使用,包括 Square、Discourse、Groupon、Linked In、Live Nation、Twitch 和 Chipotle。

pushObject() 方法用於將對象推入數組。

用法:

pushObject(obj)

參數:

  • obj (Object): 要推送的對象

返回:作為參數傳遞的對象

要運行以下示例,您需要有一個 ember 項目。要創建一個,您需要先安裝ember-cli。在終端中寫入以下代碼:

npm install ember-cli

現在您可以通過輸入以下代碼來創建項目:

ember new <project-name> --lang en

要啟動服務器,請鍵入:

ember serve

示例 1:鍵入以下代碼以生成本示例的路由:

ember 生成路線記事本

應用程序/路線/notepad.js

Javascript


import Route from '@ember/routing/route'; 
  
export default class NotepadRoute extends Route { 
    item; 
    items = ['Bread', 'Facewash']; 
    model() { 
        return this.items; 
    } 
    setupController(controller, model) { 
        this._super(controller, model); 
        controller.set('items', this.items); 
    } 
}

應用程序/控製器/notepad.js

Javascript


import Ember from 'ember'; 
import { pushObject } from '@ember/array'; 
  
export default Ember.Controller.extend({ 
    actions: { 
        addItem(item) { 
            console.log(item); 
            this.items.pushObject(item); 
        } 
    } 
})

應用程序/模板/notepad.hbs

HTML


{{page-title "Notepad"}} 
  
<h2>Your Items</h2> 
  
<div> 
    <label>Enter Item: </label> 
    {{input value=this.item}} 
</div> 
<div> 
    <input type="button" id="add-item" 
        value="Add Item" {{action 'addItem' this.item}}/> 
</div> 
<br/><br/> 
  
<ul> 
    {{#each @model as |i|}} 
    <li>{{i}}</li> 
    {{/each}} 
</ul> 
  
{{outlet}}

輸出:訪問 localhost:4200/notepad 查看輸出

示例 2:鍵入以下代碼以生成本示例的路由:

ember generate route languages

應用程序/路線/語言.js

Javascript


import Route from '@ember/routing/route'; 
import { classify, w } from '@ember/string'; 
import { pushObject } from '@ember/array'; 
  
export default class LanguagesRoute extends Route { 
    name = `mandarin_Chinese spanish english  
        Hindi bengali Portuguese russian  
        japanese western_punjabi yueChinese`; 
          
    num = `929.0 474.7 372.9 343.9 233.7  
        232.4 154.0 125.3 92.7 85.2` 
    languages = []; 
    initLanguages() { 
        this.languages = []; 
        this.name = w(this.name); 
        this.num = w(this.num) 
        for(let i = 0; i<this.name.length; i++) { 
            let obj = new Object(); 
            obj['name'] = classify(this.name[i]); 
            obj['num'] = this.num[i]; 
            this.languages.pushObject(obj); 
        } 
    } 
    model() { 
        this.initLanguages(); 
        return this.languages; 
    } 
}

應用程序/模板/語言.hbs

Javascript


{{page-title "Languages"}} 
  
<h2>Most Spoken Languages in the World</h2> 
  
<table style="border: 2px solid black;padding: 30px;"> 
    <tr> 
        <th>Language</th> 
        <th>Native Speakers (millions)</th> 
    </tr> 
    {{#each @model as |language|}} 
    <tr> 
        <td>{{language.name}}</td> 
        <td>{{language.num}}</td> 
    </tr> 
    {{/each}} 
</table> 
  
{{outlet}}

輸出:訪問 localhost:4200/linguals 查看輸出

參考:https://api.emberjs.com/ember/4.4/classes/MutableArray/methods



相關用法


注:本文由純淨天空篩選整理自aayushmohansinha大神的英文原創作品 Ember.js MutableArray pushObject() Method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。