私は角にかなり新しいだと私はAngularJSでこのように見えるディレクティブを作成したい:複数のDOMSを角度指令で制御しますか?
プログレスバー:
私のアプローチのようなものでテンプレートを作ることです。 HTML
<div class="container">
<div class="progress-line"></div>
</div>
<div class="current"> 11min </div>
<div class="max"> 24min </div>
その後BEC、右の位置にマーカー(「11min」と「24min」)を移動するためのディレクティブの機能をコンパイル/リンクしてグラフィックスと、いくつかのjavascriptを作るためにCSSを使用私は事前にプログレスバーの幅を知りません。
これは悪いアプローチですか? 1つの指令で複数のDOMを扱う人はいませんでした。テストのために
クリックしたときに、私は、コンテナは赤作ってみました:
app.directive('progressBar', function($timeout) {
var linkFn = function(scope, element, attrs) {
element.on("click", function() {
element.childNodes[0].css("background-color", "red");
});
};
return {
restrict: 'EA',
scope:{},
templateUrl: 'templates/directives/progress-bar.html',
link: linkFn
};
});
しかし、これは動作しません:
Uncaught TypeError: Cannot read property '0' of undefined
さて、しかし、どのように私は容器の幅? – Jolle
なぜ容器の幅が必要ですか?コンテナの中に進捗バーを置き、% – WalksAway
btwを計算するだけで、 'bootstrap-ui' https://angular-ui.github.io/bootstrap/を見てみるとよいでしょう。これは本当に便利なanglejsブートストラップライブラリです。プログレスラインの指示があります...しかし、あなたが死んでいる場合は、自分自身を作成することはかなり簡単です – WalksAway