Ember.js Ember.Templates.helpers mut() 方法

Ember.js Ember.Templates.helpers mut() 方法

Ember.js 是一个开源的基于Model-View-Controller(MVC)架构的JavaScript框架,用于开发大型客户端Web应用程序。Ember.js是最广泛使用的前端应用程序框架之一。它旨在加快开发速度,提高生产力。目前,许多网站都在使用Ember.js,包括Square、Discourse、Groupon、LinkedIn、Live Nation、Twitch和Chipotle等。

mut() 方法用于明确指定子组件可更新传递给它的值。

语法:

{{ mut attr }}

参数:

  • attr: 它是可以修改的属性。

安装和运行Ember.js的步骤:

步骤1: 要运行下面的示例,您需要具有一个ember项目。要创建一个,您需要先安装ember-cli。在终端中写入以下代码:

npm install ember-cli

步骤2: 现在,您可以通过键入以下代码来创建项目:

ember new <project-name> --lang en

启动服务器,请键入:

ember serve

示例1: 输入以下代码生成本示例的路线:

ember generate route mut1

app/component/list2.js

import Component from '@glimmer/component';
import { action, set } from '@ember/object';
import { tracked } from '@glimmer/tracking';
import Ember from 'ember';
 
export default class ListComponent extends Component {
    @tracked
    value = 'GeeksforGeeks';
}

app/components/list2.hbs

<h2>{{unbound this.value}} is not changeable.</h2>
<h2>{{this.value}} is changeable.</h2>
<input
    type="button"
      id="set-code"
      value="Change value"
      {{action (mut this.value) "GFG"}}
/>

app/templates/mut1.hbs

{{page-title "List2"}}
<List2 @value={{ this.val }}></List2>

输出:

Ember.js Ember.Templates.helpers mut() 方法

示例2: 输入以下代码以生成此示例的路由:

ember generate route mut2

app/components/arr.js

import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action, addObjects } from '@ember/object';
export default class CompactComponent extends Component {
    items = [
        'Oxygen',
        'Source Code',
        'Infine',
        'Tenet',
        'SpiderHead',
        'The Thing',
        'A Quiet Place',
        'The Invisible Man',
        'Looper',
        'Ad Astra',
    ];
 
    @action
    remove(data) {
        return this.items.without(data);
    }
}

app/components/arr.hbs

{{#if @show}}
    <ul>
        <h3>{{yield}} : </h3>
        {{#each this.items as |party|}}
              <li>{{unbound party}}</li>
        {{/each}}
      </ul>
      <br />
      {{textarea value=this.value}}
      <br />
      <input
        type="button"
        id="check-atIndex"
        value="Remove"
        {{action (mut this.items) (this.remove this.value)}}
      />
      <br /><br />
{{else}}
    This component Don't Have block!!<br />
{{/if}}

app/templates/mut2.js

<Arr @show={{true}}>
    List of items
</Arr>
{{outlet}}

输出:

Ember.js Ember.Templates.helpers mut() 方法

参考: https://api.emberjs.com/ember/4.6/classes/Ember.Templates.helpers/methods/mut?anchor=mut

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程