在 AngularJS 中更改路由上的图标图像
Changing the icon image on routing in AngularJS
我想在转到/tab1 后更改图像。这可以通过"ng-click"来完成。但是需要使用AngularJS路由来完成。
网页文件:
<div class = "body" ng-controller = "app">
<div class = "column1">
<div class = "tab1">
<a href = "#/tab1"><img ng-src="{{ imageUrl }}"></a>
</div>
控制器.js :
var application = angular.module('mainApp', ['ngRoute']);
application.controller('app', function($scope) {
console.log("Executed");
$scope.imageUrl = 'profile-icon.png';
});
application.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/tab1', {templateUrl: 'tab1.html', controller: HomeCtrl}).
when('/tab2', {templateUrl: 'tab2.html'}).
when('/tab3', {templateUrl: 'tab3.html'}).
otherwise({redirectTo: '/'});
}]);
function HomeCtrl($scope) {
console.log("Inside ToggleImage");
$scope.imageUrl = 'profile-icon-clicked.png';
}
页面成功加载"个人资料图标.png"。但是点击后图像没有变化。但我可以在浏览器控制台中看到输出"内部切换图像"。
这是怎么回事?
imageUrl
在两个控制器中处于不同的范围内。如果您希望它们在任何地方都相同,请使用$rootscope
而不是$scope
这是因为您修改了子作用域的属性,而不是父作用域的属性。有关作用域继承的说明,请参阅 https://github.com/angular/angular.js/wiki/Understanding-Scopes。
解决此问题的最简单方法是在父作用域上拥有一个对象。
var application = angular.module('mainApp', ['ngRoute']);
application.controller('app', function($scope) {
console.log("Executed");
$scope.settings= {imageUrl: 'profile-icon.png'};
});
application.config(['$routeProvider', function($routeProvider) {
$routeProvider.
when('/tab1', {templateUrl: 'tab1.html', controller: HomeCtrl}).
when('/tab2', {templateUrl: 'tab2.html'}).
when('/tab3', {templateUrl: 'tab3.html'}).
otherwise({redirectTo: '/'});
}]);
function HomeCtrl($scope) {
console.log("Inside ToggleImage");
$scope.settings.imageUrl = 'profile-icon-clicked.png';
}
相关文章:
- 加载图像时加载图标
- 如何制作Yii框架的linkHtmlOptions's的CGridView显示为图像图标,单击时会触发javas
- Google Places API显示雷达搜索中的位置图标/图像
- 在 AngularJS 中更改路由上的图标图像
- Jquery 数据表筛选器/搜索表中的图标图像
- Javascript - 在加载页面内容时将图标/图像放在页面上,并在某些JS事件中使用它
- javascript谷歌地图标记图标图像更改
- 在哪里可以找到dojo工具箱dijit小部件的图标图像列表
- javascript代码中没有选中图标图像
- 如何在Java脚本中动态更改谷歌地图标记图标图像的设置间隔函数
- 根据地图缩放级别更改标记图标图像
- 使谷歌地图图标图像更小
- 有问题旋转facebook, twitter和youtube图标图像
- 为什么要用按钮呢?表单提交的数据块,当只有图标图像与onclick处理功能可能也工作
- 将图标图像添加到具有描述的弹出框中
- 在使用d3.js制作的地图上显示图标/图像,而不是圆圈/路径
- 如果文本框为空,如何从文本框隐藏图标图像
- 更改图标图像点击
- 调整谷歌地图标记图标图像的大小
- 获取数据库图标图像而不是文本名称