我是 AngularJS 的新手,我正在嘗試一些東西。有時成功,有時不成功。這是我(未成功)嘗試做的事情:用戶單擊一個按鈕,然后計算足球比賽的隨機分數(shù)。根據(jù)我們的團隊是贏還是輸,顯示的消息會發(fā)生變化。這行得通。但不起作用的是我希望我的 css 類也發(fā)生變化。我試圖通過指令中的鏈接函數(shù)來做到這一點(因為我目前正在學(xué)習(xí)鏈接和編譯函數(shù)),但似乎屬性在應(yīng)用程序啟動時加載一次,并且不會被修改。好的,也許我應(yīng)該分享我的代碼:1/ 我的 index.html 中有趣的部分 <div class="container" ng-controller="ScoreController as score"> <h4> {{ score.test }} </h4> <button class="btn btn-danger" ng-click="score.scoreCalculation();">Check the score</button> <div display-result class="grey" result="{{ score.result }}"> <h4> {{ score.message }} </h4> </div> </div>2/ 我非常簡單的 css 文件.grey { border: solid grey 5px; border-radius: 7px;}.win { border: solid green 5px;}.lose { border: solid red 5px;}.draw { border: solid orange 5px;}3/我的控制器function ScoreController () { // ctrl = this; this.message = "The game is about to start!"; this.scoreFrance = 0; this.scoreArgentine = 0; this.test = "France - Argentine"; // this.result = ""; this.color = ""; this.scoreCalculation = () => { let France = Math.floor(Math.random() * 4); let Argentine = Math.floor(Math.random() * 4); if (France > Argentine) { this.message = `France Wins! ${France} - ${Argentine}`; this.result = "win"; } else if (France < Argentine) { this.message = `France Loses! ${France} - ${Argentine};` this.result = "lose"; } else { this.message = `It's a draw! ${France} - ${Argentine}`; this.result = "draw"; }; };};angular .module('app') .controller('ScoreController', ScoreController);4/ 我的指令function displayResult () { return { restrict: 'A', link: function ($scope, $element, $attrs) { $element.addClass($attrs.result); } };};angular .module('app') .directive('displayResult', displayResult);現(xiàn)在,我希望由于result="{{ score.result }}"我通過 傳遞給我的指令attrs,我的消息的 css 類將被更新。但是不, attrs.result當我 console.log 它們時,它們保持在最初的值。有知道方法的請告知,謝謝!
AngularJS,指令中的鏈接函數(shù),單擊按鈕時如何更新屬性?
有只小跳蛙
2023-02-24 16:10:34