私はAngularの初心者であり、この質問に対する確固たる答えを見つけることができませんでした...答えが目の前にあったとしても、それを見ることができませんでした。
私はこのHTMLを持っています:
<ul class="wrapper" ng-controller="MyController as vks">
<li ng-repeat="myvar in vks.vk" class="padding-left" data-myvar-id="{{myvar.id}}">
<img src="images/someimage.svg" ng-show="{{myvar.id}} == {{myvar.chosen}}" class="some-class">
<a class="hvr-underline-reveal">{{myvar.name}}</a>
</li>
</ul>
そして、これは私のコントローラーです:
app.controller('MyController', function() {
var i = 0;
var tmp = [];
for (var key in someObject) {
if (someObject.hasOwnProperty(key)) {
var obj = someObject[key];
if (obj.checked) {
tmp[i] = {name: obj.name, id: obj.id, chosen: someStaticVar};
i++;
}
}
}
this.vk = tmp;
});
ページが最初にロードされたときに機能するこの部分に焦点を当てたいと思います。
<img ng-show="{{myvar.id}} == {{myvar.chosen}}">
{{myvar.chosen}} (静的グローバル変数から設定される) が外部の JavaScript から突然変更されるとどうなりますか? HTML 部分は更新されず、その部分は引き続き表示されますが、別の部分が表示されるはずです。このコントローラーだけをリロードするにはどうすればよいですか? (または、これを意図したとおりに機能させるために何か他のことをしますか?)
これが理にかなっていることを願っています...