2016-05-18 9 views
0

私は、チェックボックスEmber.jsのチェックボックスをプリセットする最も良い方法は何ですか?

<div class="col-sm-6"> 
    <input type="checkbox" id="isDeletedCheckbox" {{action "toggleIsDeleted" "isDeletedCheckbox" on="change"}}/> 
</div> 

でテンプレートを持っていると私は

setupController() { 
    if (this.controller.get('model').get('isDeleted')) { 
     this.controller.set("isDeletedCheckbox", true); 
    } 
} 

または

setupController() {  
    if (this.controller.get('model').get('isDeleted')) { 
     $("#isDeletedCheckbox").checked(true); 
    } 
} 

を使用しようとした

afterModel(model) { 
    this.controllerFor(this.get('routeName')).set('model', model) 
}, 

のルートを持っているが、それは時間がありません値をプリセットするelp

答えて

2

{{input type="checkbox"}}helperを使用してください。

{{input type="checkbox" name="isEmberized" checked=model.isDeleted}} 

モデルは次のようになります場合:

model() { 
    return { isDeleted: true }; 
} 

何がすべき決してなしには、ルートまたはコントローラで

$("#isDeletedCheckbox").checked(true); 

のようなものです。 は、コンポーネント内で直接のDOM操作を使用します。

+0

ルートまたはコントローラでDOM操作を実行できないのはなぜですか? –

+1

その時点であなたのDOMはまだ存在していないかもしれません。 'component'の' didInsertElement'フックはDOMの準備ができたら呼び出されます。 – Lux

関連する問題