【发布时间】:2016-11-23 00:04:21
【问题描述】:
我正在尝试在我的 Angular 应用程序中启动外部网页,我使用的是 Angular 1.4.X 版本。我有一个数组items,它将被迭代以显示为md-buttons,具有不同的图标和名称。但是我有兴趣通过在同一个数组中传递参数来将 url (href) 添加到这些按钮。
HTML:
<md-list-item ng-repeat="item in items">
<div>
<md-button target="_self" href={{item.url}} class="md-grid-item-content" ng-click="listItemClick($index)" ng-click="showRemedyGridSheet()">
<md-icon md-svg-src="{{item.icon}}"></md-icon>
<div class="md-grid-text"> {{ item.name }} </div>
</md-button>
</div>
</md-list-item>
JS:
基于一些逻辑,我构建了 url 字符串并将其分配给 $scope。例如,我使用了以下场景,
$scope.items = [
{ name: 'Rebook', icon: 'rebook' , url:'rebookUrl'},
{ name: 'Puma', icon: 'puma'},
{ name: 'Nike', icon: 'nike' ,url:'nikeUrl'},
{ name: 'NewBalance', icon: 'nb' ,url:'nbUrl'},
];
//build url
$scope.rebookUrl= "http://www.reebok.co.uk/";
$scope.nikeUrl= "http://www.nike.com/us/en_us/";
$scope.nb="http://au.puma.com/";
如何将 scope.rebookUrl 或 $scope.nb 值传递给数组 $scope.items,然后在 HTML 页面中使用它们以在单击按钮时启动到正确的 url。
【问题讨论】:
-
在 items 数组中直接传递 url 有什么问题?
-
将两个
ng-click指令放在一个元素上是行不通的。第二个ng-click指令将被忽略。
标签: javascript angularjs scope rootscope