私はこれをすぐに実装すると思っていましたが、ウサギの穴を私に送ってきました。Aurelia - カスタム要素のプロパティをバインドして更新する
私はカスタム要素であるサイドバーを持っています。それには2つの 'モード'があり、1つは '管理者'ページ用で、もう1つは通常のページ用です。サイドバーにはモードを格納するプロパティがあります。 sidebar.htmlでは、UIの管理部分を表示するのにshow.bind="mode!=='admin'"
を使用します。コンストラクタでmodeプロパティの値を変更すると、期待どおりに動作します。
コードで表示を変更できないようです。
サイドバーには、私のapp.html
の一部です:
<template>
<require from="./elements/sidebar"></require>
<div id="wrapper">
<sidebar mode="regular"></sidebar>
<main>
<router-view></router-view>
</main>
</div>
今私は、サイドバーのモードを変更したい別のビューを持っています。そのビューのJSで、私はactivate
方法(私は、コンストラクタ内注射を介してサイドバーを参照すること)のモードプロパティの値を変更:
activate(params, routeConfig){
this.sidebar.mode = "admin";
...
}
しかし、何も更新されますように思われます。これは私のsidebar.jsです:
import {bindable} from "aurelia-framework";
import config from 'config';
export class Sidebar {
@bindable mode;
constructor(){
...
this.mode = "regular"; //default value is regular
...
}
}
モードの値が変更されたが、私のサイドバーの表示(HTML)は更新されません。
私はまだAureliaとウェブ開発ではまだ一般的です。
最高のものはアウレリアの方法これは何ですか?
plを設定できますかアンカーの例? – Tom
私は前にそのようなものを設定したことはありません。しかし、ここに私が上で議論した適応されたファイルがあります:https://plnkr.co/edit/83MuwCO22Md0dYnVl3fQ?p=catalogue私は完全に働くAureliaアプリケーションのためにそれを設定する方法を知らない。 –
このHello World Appをフォークすることができます - http://plnkr.co/edit/5vMoxM?p=preview。問題の実際の例を見ることで、問題を解決するのに役立ちます。 – Tom