离子,角度,显示或禁用控制器内的组件
Posted
技术标签:
【中文标题】离子,角度,显示或禁用控制器内的组件【英文标题】:Ionic , angular , Show or disable a component within controller 【发布时间】:2015-12-04 05:50:56 【问题描述】:我有以下代码。以下代码显示 5 个标签项。 我想要做的是当用户点击任何标签项目时,它将被隐藏或空白。但是当我点击其中任何一个时,所有标签项目都被空白而不是我选择的项目。谁能给我一些想法?
<div data-ng-repeat="x in mylist">
<a class="button" ng-click="hideme();" style="visibility">x</a>
</div>
.controller('MyCtrl', function($scope, $stateParams, chats)
$scope.hideme = function(index, value)
$scope.visibility = "background-color: #000000 !important;";
);
【问题讨论】:
【参考方案1】:首先,您可能想稍微改变一下对象结构。请记住,您的模型值中始终有一个点 (.)。
试试这个。
<div ng-app ng-controller="myCtrl">
<div ng-repeat="x in myList">
<a href="" ng-click="hide(x)" ng-hide="x.hide">x.value</a>
</div>
</div>
function myCtrl($scope)
$scope.myList = [
value: "a"
,
value: "b"
,
value: "c"
];
$scope.hide = function(obj)
obj.hide = true;
JSFiddle
【讨论】:
嗨,Askash,您的代码有效。但我不太明白为什么我不能这样。function myCtrl($scope)
$scope.myList = [ value: ["a","b","c"]];
$scope.hide = function(obj)
obj.hide = true;
原因是,如果你检查 'a'、'b' 和 'c' 你会看到 angular 为每次重复添加了一个类调用 ng-scope。这意味着范围内的任何更改都将仅应用于该模型。但是,如果您直接将它添加到 $scope 对象,那么所有模型的行为都会发生变化。您可能想了解范围在 angularjs 中的工作原理。以上是关于离子,角度,显示或禁用控制器内的组件的主要内容,如果未能解决你的问题,请参考以下文章