在 ng-click 上更改范围值 [英] Change scope value on ng-click
问题描述
我想使用标签来隐藏和显示 ng-repeat 中的项目.是否可以像这样更改范围的值?
<a ng-click="packageType = '1'">Package 1</a><a ng-click="packageType='2'">Package 2</a><a ng-click="packageType = '3'">包 3</a><div ng-repeat="包裹中的物品" ng-show="packageType >=item.packageID">{{item.name}}
和范围:
$scope.packages = [...{ "name": "some name",包ID":1}...]
packageID 可以是 1、2 还是 3?
这是完全按照您的要求执行的代码
<html ng-app="app"><头><script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script><script src="http://angular-ui.github.com/bootstrap/ui-bootstrap-tpls-0.6.0.js"></script><link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.3.2/css/bootstrap.css" rel="stylesheet">头部><body ng-controller="MainCtrl"><div ng-controller="TabCtrl"><标签集><tab ng-repeat="tab in tabs" Heading="{{tab.name}}" active="tab.active" select="onTabSelected(tab.slug)">{{ tab.packageId }}</tab></tabset>
<script type="text/javascript" charset="utf-8">angular.module('app', ['ui.bootstrap']).config(['$routeProvider', '$locationProvider',功能($routeProvider,$locationProvider){$routeProvider.when('/', {控制器:'MainCtrl'}).when('/房间/:id', {控制器:'房间控制',}).when('/仪表板', {控制器:'DashboardCtrl'}).除此以外({重定向到:'/'});$locationProvider.html5Mode(false);}]);var TabCtrl = 函数($scope){$scope.tabs = [{slug: '仪表板',名称:套餐1",packageId: 一些包 #1"}, {slug: 'room-1',名称:套餐2",packageId: 一些包 #2"}, {slug: 'room-2',name: "套餐3",packageId: 一些包 #3"}];};RoomCtrl = 函数($scope,$location){};DashboardCtrl = 函数($scope,$location){};MainCtrl = function($scope, $location) {$scope.onTabSelected = 函数(标签){无功路线;if (typeof tab === 'string') {开关(标签){案例仪表板":路线=标签;休息;默认:路线 = '房间/' + 标签;休息;}}$location.path('/' + 路线);};};