我是一个角度新手,我一直没有找到任何可靠的答案这个问题...即使答案可能在我面前,我只是看不到它。角度重新加载控制器
我有这一块的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部分不刷新,具体仍然显示,但它应该是另一个显示。 我该如何重新加载这个控制器? (或做其他事,使这项工作的吗?)
希望这是有道理...
是什么导致全局变量的变化?它是一些排序或用户操作/ HTTP请求/等? –
你不应该在ng-show中插入你的变量。试试:''也选择只在第一次加载控制器的时候设置,所以如果someStaticVar改变了,你可以直接在你的html中比较它,或者添加一个手表 – masimplo