SolarTerms.controller('FooterCtrl', ['$state', '$rootScope', '$scope', function ($state, $rootScope, $scope) {
$scope.imgsrc = { "imda1":"img/icon1.png", "imda2":"img/icon2.png", "imda3":"img/icon3.png", "imda4":"img/icon4.png", "imda5":"img/icon5.png" }
}])
SolarTerms.directive("tabImg",function () {
return { restrict:'A', scope:false, link:function (scope,ele,attr,ctrl) { ele.bind('click',function (event) { var index = $(this).index(); scope.imgsrc = { "imda1":"img/icon1.png", "imda2":"img/icon2.png", "imda3":"img/icon3.png", "imda4":"img/icon4.png", "imda5":"img/icon5.png" }; scope.imgsrc['imda'+(index+1)] = 'img/icon'+(index+1)+'1.png'; //scope.$apply(scope.imgsrc['imda'+(index+1)] = 'img/icon'+(index+1)+'1.png') }) } } })
< span>Homepage
balance
Berechnen
View p>
< ;p tab-img class="I_AF_p" ng-click="goto('wd')"> Dokumente
Rufen Sie den Index ab, nachdem Sie auf das entsprechende p geklickt haben, und ändern Sie dann den entsprechenden Wert in $scope.imgsrc. Die Konsole kann die Bildadresse korrekt ausgeben. Warum muss der Wert in ng-src in der Ansicht jedoch zweimal angeklickt werden, um ihn zu ändern? ? Ich möchte nur die ng-Image-Adresse in src ändern. Kann mir das jemand erklären?
需要手动触发angular的渲染机制