問題タブ [angularjs-bindings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - 属性へのangularjsバインディング
別のディレクティブ内にディレクティブを動的にロードしようとしているのでng-repeat
、以下に使用しようとしています{{item.directiveName}}
。 は内部ディレクティブ名です。
問題は、{{item.directiveName}}
が評価されず、そのままであるということです。属性の値ではないので属性だと思います。
この式を評価する方法はありますか、それとも angularjs でサポートされていませんか?
javascript - カスタムディレクティブエラー内のng-table「nullのプロパティ '$data'を設定できません」
ここで私の質問:
ng-table
内部を使用する角度でディレクティブを構築しようとしています。問題は、ユーザーがボタンをクリックしたときに入力パラメーターtableData
がディレクティブの外側から設定されるため、最初は空の配列として初期化されることです。
だから私はに時計を追加し、変更tableData
時にテーブルをリロードしようとしました。tableData
しかし、differ.resolve 関数は次の例外で終了します。
助けてください
ディレクティブの使用
これは私の臨時雇用者です
TableMultiselect.tmpl.cshtml
コントローラ
エラー
javascript - AngularJS: サービス値をディレクティブにバインドする
私は AngularJS に慣れていないので、独自のディレクティブを作成しようとしました。
私の目標は、一般的なサービスからデータを取得する「クロック」ディレクティブを作成することです。問題は、現在の時刻の値をサービスからディレクティブ (および実際にはビュー) にバインドできなかったことです。新しい値 (時間) に更新されるのではなく、最初の値 (「読み込み中」) が画面に残ります。これは私のコードです:
Javascript:
HTML:
ところで、これはこのアイデアを実装するための最良の方法ではないと思うので、私の問題も解決するより良い提案があれば、それについて聞いてうれしいです.
ありがとう!
javascript - AngularJS controllerAs: $interval のコントローラ フィールドを更新しても ng-show が更新されない
controllerAs 構文を使用していますが、何らかの理由で、コントローラーのフィールドを $interval で更新すると、ビュー内の要素が適切に表示/非表示になりません。angularのUIルーターを使用しています。
この問題は、私が考えるコードで最もよく説明されているので、コード ダンプを許してください。
私の状態(「refreshLogs」は、単に更新されたログのために logService を呼び出す関数です):
私のコントローラー:
そして最後にビュー:
DOM 更新で「ng-show」値が表示されますが、この値に基づいて要素が表示/非表示になりません。Chrome で DOM を調べたところ、次のように表示されました (強調のためにアスタリスクが追加されています)。
どちらが正しいか、適切な div が表示されます。数秒後、ログが更新され、"vm.log" 変数が null 以外の値に設定されます (この値を割り当てる JS コードにブレークポイントを設定したため、これは正しいように見えます)。その後、DOM を再度検査すると、次のように表示されます。
正しい値を示す「ng-show」属性に注意してください。だから、表現は明らかに再評価されました。ただし、古い「Waiting for log...」ヘッダーは引き続き表示され、最初の div は表示されません (「ng-hide」CSS クラスが適用されたままです)。
ここで何が欠けていますか?
html - コンテンツサイズに合わせてAngularjs ng-bind-htmlサイズ変更ボタン?
いくつかの FontAwesome アイコンを含むテキストのリストが与えられた場合、コントローラーはそれをテンプレートに渡し、それぞれをボタンにレンダリングする必要があります。
テキスト例:
私のコード:
ただし、期待どおりに機能しません。
[[text]]
html をエスケープしますng-bind-html
テキストを挿入した後、ボタンのサイズを変更できません
ここで他に何ができますか?
angular - 双方向プロパティ バインディング用の Angular2 デコレータ
Angular2 テンプレート構文に関する Victor Savkin の投稿から、入力および出力プロパティ バインディングの使用方法を示します -
入力プロパティは @Input() で装飾され、出力プロパティには @Output() があります。2 方向のプロパティ バインディングを持つプロパティをどのように宣言すればよいですか? 例: rootpanel コンポーネントに「suggestions」プロパティ (文字列型) があり、searchPanel に「getSuggestions」プロパティがあるとします。ここで、2 つのプロパティを双方向でバインドしたいと考えています。私は試した -
rootpanel.html:
しかし、searchPanel コンポーネントで getSuggestions プロパティを宣言しているときに行き詰まりました。また、 getSuggestions プロパティのタイプは何string or EventEmitter<string>
ですか?
提案してください。
angularjs - 要素のコンテンツに対してのみ ng-non-bindable
Angular アプリケーションには、サーバー側のユーザー コンテンツで満たされたリンクがあります。そのため、そのリンク コンテンツを解釈しないように Angular に指示する必要があります。それ以外の場合、ユーザーまたは攻撃者がそこに Angular バインディング式 ({{User.Password}} など) を配置すると、Angular はそれを評価し、セキュリティ ホール (一種の XSS 攻撃) を開きます。
ng-non-bindableはほとんどそれを行います。ただし、リンク自体を Angular で操作することも必要です。
@site.value.Name は、コンテンツを挿入するサーバー側のコードです。
ng-non-bindable を a 要素に配置すると、ng-class は機能しません。私が見ることができる唯一の解決策は、その中に別のスパン/ divを挿入し、それに ng-non-bindable を適用することです:
Angular がサーバー側のデータに干渉するのを止めるためだけに HTML 構造を変更する必要があるため、これは扱いにくいように思えます。
よりクリーンなソリューションはありますか?
理想的には、ng-non-bindable (またはバリアント) が「コンテンツをバインドしないが、それ以外の場合はこの要素を通常どおりに扱う」ことを意味するようにしたいと考えています。