Ember.js: ember 2.10 μ •μ˜λ˜μ§€ μ•Šμ€ 경둜 동적 μ„Έκ·Έλ¨ΌνŠΈκ°€ 더 이상 μž‘λ™ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2016λ…„ 11μ›” 30일  Β·  22μ½”λ©˜νŠΈ  Β·  좜처: emberjs/ember.js

이것은 버그 λΌκΈ°λ³΄λ‹€λŠ” μ§€μ›λ˜μ§€ μ•ŠλŠ” κΈ°λŠ₯처럼 λ³΄μ΄μ§€λ§Œ 기둝 ν•  것이라고 μƒκ°ν–ˆμŠ΅λ‹ˆλ‹€.

2.9.1μ—μ„œ 2.10으둜 μ—…κ·Έλ ˆμ΄λ“œ ν•  λ•Œ λ‹€μŒ μ˜ˆμ™Έκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

"Assertion Failed: You attempted to define a `{{link-to "timecards"}}` but did not pass the parameters required for generating its dynamic segments. You must provide param `login` to `generate`."
#app/router.js
this.route('timecards', {path: '/timecards/:login'}, function() {
  this.route('index', { path: '/' });
  this.route('timecard-day', {path: '/day/:date'});
  this.route('pay-period', {path: '/pay-period/:date'});
});

#app/routes/timecards.js #model hook
model(params) {    
  let login = params.login || this.get('currentUser.login');
  return this.store.peekAll('user').findBy('login', login);
}

각 κ°œλ³„ ν•˜μœ„ κ²½λ‘œμ— λŒ€ν•΄λ‘œλ“œ ν•  ν•„μš”μ—†μ΄ κΈ°λ³Έ μ‚¬μš©μž λͺ¨λΈμ„λ‘œλ“œν•˜κΈ° μœ„ν•΄ μƒμœ„ κ²½λ‘œμ—μ„œ 선택적 동적 μ„Έκ·Έλ¨ΌνŠΈλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 맀우 νŽΈλ¦¬ν–ˆμŠ΅λ‹ˆλ‹€.

Ember 2.10 Inactive Needs Bug Verification Needs Submitter Response

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

이것은 μš°λ¦¬μ—κ²Œ 2.10κ³Ό 2.11을 μ°¨λ‹¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λˆ„κ΅°κ°€ 이것이 νšŒκ·€μž„μ„ 확인할 수 μžˆλ‹€λ©΄ 고쳐 λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

λͺ¨λ“  22 λŒ“κΈ€

μ •μ˜λ˜μ§€ μ•Šμ€ 것을 μ „λ‹¬ν•˜κ³  μ‚¬μš©μž μ •μ˜ 직렬화 후크λ₯Ό κ΅¬ν˜„ν•˜μ—¬ μ—¬μ „νžˆμ΄ μž‘μ—…μ„ μˆ˜ν–‰ ν•  수 μžˆλ‹€κ³  ν™•μ‹ ν•©λ‹ˆλ‹€.

여기에 μΆ”κ°€ 된 였λ₯˜ λ©”μ‹œμ§€λŠ” 일반적으둜 μ‚¬λžŒλ“€μ—κ²Œ μƒλ‹Ήνžˆ 큰 승리이며 κ°€λŠ₯ν•˜λ©΄ 계속 μœ μ§€ν•˜κ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

@rwjblue κ°€ undefinedλ₯Ό link-to helper에 μ „λ‹¬ν•˜λ©΄ λ‹€μŒ κ²½κ³ κ°€ λ°œμƒν•©λ‹ˆλ‹€. This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.

λ‚˜λŠ” λ˜ν•œ λ‹€μŒκ³Ό 같은 λ¬Έμ œκ°€ μžˆμ—ˆλ‹€.

{{link-to 'projects.project.tasks' project}}
  this.route('projects', function() {
    this.route('project', { path: ':id' }, function() {
      this.route('tasks');
    });
  });

Ember 였λ₯˜λŠ” μ •μ˜λ˜μ§€ μ•Šμ€ id 에 λŒ€ν•΄ μ•Œλ €μ‘ŒμŠ΅λ‹ˆλ‹€.
이에 λŒ€ν•œ λΉ λ₯Έ μˆ˜μ •μ€ λΌμš°ν„°μ˜ :id λ₯Ό :project_id

λ‚˜λŠ” 그것이 μ‹€μ œ μˆ˜μ •μ΄ μ•„λ‹ˆλ©° λ²„κ·Έλ‘œ 인정받을 κ°€μΉ˜κ°€ μžˆλ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€. 그렇지 μ•ŠμœΌλ©΄ λΌμš°ν„° λ™μž‘ 변경에 λŒ€ν•œ 정보가 μ—†μŠ΅λ‹ˆλ‹€.

@Exelord λŠ” 버그가 μ•„λ‹Œ μ›λž˜ μ„€λͺ… 된 버그와 관련이 μ—†μŠ΅λ‹ˆλ‹€. 우리 λŠ” κΈ°λ³Έ κ΅¬ν˜„μ΄ μ¦‰μ‹œ μž‘λ™ ν•„μš” ν•˜λ‹€λŠ” 것을 ꡬ체적으둜 λ¬Έμ„œν™”ν•©λ‹ˆλ‹€. μ‚¬μš©μž μ •μ˜ ν•„λ“œλ₯Ό μ‚¬μš©ν•˜λŠ” 경우 각 κ²½λ‘œμ—μ„œ 직렬화 / μ—­ 직렬화λ₯Ό λ‹€μ‹œ κ΅¬ν˜„ν•΄μ•Όν•©λ‹ˆλ‹€.

@Exelord (이 λ¬Έμ œμ™€ 직접적인 κ΄€λ ¨μ΄μ—†λŠ”

@rwjblue @ sly7-7 κ·Έλž˜μ„œμ΄ λ¬Έμ œμ— λŒ€ν•œ κΉ¨λ—ν•œ ν•΄κ²° λ°©λ²•μ΄μ—†λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. λ§žμŠ΅λ‹ˆκΉŒ?

@arenoir λŠ”μ΄ 문제의 λΆˆμ”¨λ₯Ό

@locks @pixelhandler
당신은 κΆŒλ¦¬κ°€ μžˆμŠ΅λ‹ˆλ‹€. 도움과 μ„€λͺ…에 κ°μ‚¬λ“œλ¦½λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ μ‹€μ œλ‘œ 2.10 μ΄μ „μ—λŠ” μž‘λ™ν–ˆμŠ΅λ‹ˆλ‹€.
μ§€κΈˆμ€ 버그 λ‚˜ μ˜ˆμƒμΉ˜ λͺ»ν•œ λ™μž‘μ΄μ—ˆλ˜ 것 κ°™μŠ΅λ‹ˆλ‹€.

@pixelhandler μ’‹μ•„ μ—¬κΈ° νŠΈμœ„μ΄λ‹€.

: point_up : 쒋은 μž¬ν˜„μ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€. ν•΄λ‹Ή λ ˆμ΄λΈ”μ„ 제거 ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

이것이 νšŒκ·€λ‘œ κ°„μ£Όλ˜λŠ”μ§€ λ˜λŠ” μ‘μš© ν”„λ‘œκ·Έλž¨μ—μ„œ μˆ˜μ • ν•΄μ•Όν•˜λŠ”μ§€ ν˜Όλž€ μŠ€λŸ½μŠ΅λ‹ˆλ‹€.

이것은 μš°λ¦¬μ—κ²Œ 2.10κ³Ό 2.11을 μ°¨λ‹¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. λˆ„κ΅°κ°€ 이것이 νšŒκ·€μž„μ„ 확인할 수 μžˆλ‹€λ©΄ 고쳐 λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€.

@arenoirκ°€ μ„€λͺ…ν•œ 것과 λ™μΌν•œ 문제

μ˜€λŠ˜λ„ 같은 λ¬Έμ œκ°€ λ°œμƒν•©λ‹ˆλ‹€ πŸ‘Ž

@jakeleboeuf λ™μΌν•œ λ¬Έμ œκ°€ λ°œμƒν•˜μ—¬ 2.13.1둜 μ—…κ·Έλ ˆμ΄λ“œν•˜μ—¬ 문제λ₯Ό ν•΄κ²°ν–ˆμŠ΅λ‹ˆλ‹€. μ–΄λ–€ 버전이 μžˆμŠ΅λ‹ˆκΉŒ?

[νŽΈμ§‘ν•˜λ‹€]
μ—¬κΈ° μƒˆλ²½ 2μ‹œμ΄κ³  λ‚΄ λ‡ŒλŠ” 거의 λ”₯ 슀페이슀둜 μ΄λ™ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것을 잘λͺ» ν…ŒμŠ€νŠΈν–ˆλ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€. μ—¬μ „νžˆ κ³„μ†λ˜κ³  μžˆμŠ΅λ‹ˆλ‹€ ...

λˆ„κ΅°κ°€μ΄ λ¬Έμ œκ°€ λ°œμƒν•˜λ©΄ λ‹€μŒκ³Ό 같을 수 μžˆμŠ΅λ‹ˆλ‹€.

import Controller from 'ember';
import { alias } from 'ember-computed';

export default Controller.extend({
  deployments: alias('model')
});

Contoller 잘λͺ» κ°€μ Έμ˜€κ³  μžˆμŠ΅λ‹ˆλ‹€. import Controller from 'ember-controller'; μ΄μ–΄μ•Όν•©λ‹ˆλ‹€. 이것은 ν˜„μž¬ ν”„λ‘œμ νŠΈμ—μ„œ μ‚¬μš©ν•˜λŠ” ember-cli-shimsλ₯Ό μ‚¬μš©ν•˜λŠ” κ²½μš°μž…λ‹ˆλ‹€. λ‚˜λŠ” ν¬κΈ°ν•˜κΈ° 전에 ν•œ μ‹œκ°„ λ™μ•ˆ 이것에 λŒ€ν•΄ 길을 μžƒκ³  λŒμ•„ μ™”κ³  λ‚΄κ°€ 뭘 잘λͺ»ν•˜κ³  μžˆλŠ”μ§€ λΆ„λͺ…νžˆ λ³΄μ•˜λ‹€.

μ—¬κΈ°μ„œ κΈ΄ μƒ·μ΄μ§€λ§Œ μ‹€μˆ˜λ‘œ Ember의 Object 클래슀둜 λ„€μ΄ν‹°λΈŒ Object λ₯Ό λ‹€μŒκ³Ό 같은 λ°©λ²•μœΌλ‘œ μž¬μ •μ˜ ν•  λ•Œμ΄ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

const { Object } = Ember;

이둜 인해 λ‚΄ λͺ¨λΈ 후크 ( Object.create κ°€ 호좜 됨)κ°€ μ‹€νŒ¨ν•˜κ³  μ–΄λ–€ 이유둜 λ“  μ˜ˆμ™Έκ°€ λ°œμƒν•˜μ—¬ 동적 μ„Έκ·Έλ¨ΌνŠΈκ°€ μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  μ–ΈκΈ‰ν–ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 이것이 @alvincrespoκ°€ μœ„μ˜ μ£Όμ„μ—μ„œ μ–ΈκΈ‰ ν•œ 것과 μœ μ‚¬ν•˜λ‹€κ³  μƒκ°ν•©λ‹ˆλ‹€.

@lrdiv 예, 저와 ν•¨κ»˜ μΌμ–΄λ‚˜λŠ” 일이라고 μƒκ°ν•©λ‹ˆλ‹€.

Assertion Failed: You attempted to define a `{{link-to "control.templates.show"}}` but did not pass the parameters required for generating its dynamic segments. _ember.default.extend is not a function

@brunowego 그래 그게 λ‚΄κ°€ 얻은 것과 같은 였λ₯˜μž…λ‹ˆλ‹€. 우리의 경우 이것은 μ‹€μ œ 버그보닀 μ˜€ν•΄μ˜ μ†Œμ§€κ°€μžˆλŠ” μ˜ˆμ™Έ 인 것 κ°™μŠ΅λ‹ˆλ‹€.

@lrdiv 이것은 λ‚˜μ—κ²Œλ„ 일어

λ‚΄κ°€ ν•œ 일은 Emberλ₯Ό κ΅¬μ‘°ν™”ν•˜κ³  κΈ°λ³Έ Object 을 Ember.Object μ •ν™•ν•˜κ²Œ μž¬μ •μ˜ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·Έλž˜μ„œ μ„ μ–Έκ³Ό μ‚¬μš©λ²•μ—μ„œ 이름을 const EmberObject = Ember.Object 와 같은 μ΄λ¦„μœΌλ‘œ λ³€κ²½ν–ˆκ³  λͺ¨λ“  것이 μ˜¬λ°”λ₯΄κ²Œ μ§„ν–‰λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것을 버그 버그라고 λΆ€λ₯΄μ§€ μ•Šμ„ κ²ƒμ΄λ―€λ‘œ μœ„μ—μ„œ μž‘μ„±ν•œ 거의 λͺ¨λ“  것에 λ™μ˜ν•©λ‹ˆλ‹€ : stuck_out_tongue_winking_eye :

@Exelord @acorncom @alvincrespo @arenoir @asvny @bjornharrtell @brunowego @carlbennettnz @dustinfarris @jakeleboeuf @locks @lrdiv @nightsh @rwjblue @ sly7-7 @tarikozket 이 μ—¬μ „νžˆ λ¬Έμ œμž…λ‹ˆλ‹€. 이거 μ–΄λ–»κ²Œ 생각해?

μ§€κΈˆμ€ μ’…λ£Œν•©λ‹ˆλ‹€. Ember의 ν˜„μž¬ λ¦΄λ¦¬μŠ€μ—μ„œ μž¬ν˜„ ν•  μˆ˜μžˆλŠ” 경우 μ–Έμ œλ“ μ§€ λ‹€μ‹œ μ—΄ 수 μžˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰