2

Web アプリケーションの app.dart には次のコードがあります。

library app;
import 'dart:html';
var _loginClass; 

void main() {
 _loginClass = 'hide_login'; //set style to hide login web component by setting display:none

}
void showLogin(e) {
  _loginClass = 'show_login';
 print("span clicked");
}
void hideLogin(e) {
_loginClass = 'hide_login';
}

App.dart から hideLogin(e) 関数を呼び出すと、Web コンポーネントが非表示になります。ただし、Web コンポーネントから呼び出しても機能しません。

css は次のように定義されています。

.hide_login {
display: none;
}

.show_login {
 display = block;
}
4

2 に答える 2

0

「display: none;」があるのは奇妙です。および「display = block;」。2 番目の構文は有効ではありません。

それが正しい答えでない場合は、次を追加してみてください。

import 'package:web_components/web_components.dart';

そして、dispatch(); を呼び出します。_loginClass を設定した後。

于 2012-11-24T04:20:25.797 に答える
0

おそらく、使用するのはもっとダーツでしょう

<template instantiate="bool expression">

これにより、ログイン コンポーネントなどのカスタム要素の表示と非表示が非常に簡単になります。

例:

login.html

<html>
  <body>
    <element name="x-login" constructor="LoginComponent" extends="div">
      <template instantiate="if showLogin">
        ...
        <button on-click="validateLogin()">Login</button>
      </template>
    </element>
  </body>
</html>

LoginComponent.dart

import "package:web_ui/web_ui.dart";

class LoginComponent extends WebComponent {
  bool showLogin = true;

  bool validateLogin() {
    ...
    showLogin = false;
  }
}

詳細については、http://www.dartlang.org/articles/dart-web-components/をご覧ください。

于 2013-02-16T05:50:13.037 に答える