可重复 DOM 元素上的角度 ng 模型
Angular ng-model on repeatable DOM elements
是否可以仅使用HTML标记在Angular中定义ng-model范围?
我的标记:
<section>
<button ng-click="boxOpen = !boxOpen">Open/Close</button>
<div ng-show="boxOpen">Stuff in here</div>
</section>
<section>
<button ng-click="boxOpen = !boxOpen">Open/Close</button>
<div ng-show="boxOpen">Other stuff in here</div>
</section>
上面的问题是"boxOpen"被两者全局解释,因此单击任何一个按钮将同时显示/隐藏两个div。
有什么帮助,谢谢!
如果你定义2个不同的控制器,你会得到两个不同的作用域
<section ng-controller="ctrl1">
<button ng-click="boxOpen = !boxOpen">Open/Close</button>
<div ng-show="boxOpen">Stuff in here</div>
</section>
<section ng-controller="ctrl2">
<button ng-click="boxOpen = !boxOpen">Open/Close</button>
<div ng-show="boxOpen">Other stuff in here</div>
</section>
您也可以做出指令
.html
<section my-show-hide-dir>
<button ng-click="boxOpen = !boxOpen">Open/Close</button>
<div ng-show="boxOpen">Stuff in here</div>
</section>
<section my-show-hide-dir>
<button ng-click="boxOpen = !boxOpen">Open/Close</button>
<div ng-show="boxOpen">Other stuff in here</div>
</section>
.JS
app.directive("myShowHideDir",
function() {
return {
restrict: 'A',
controller: ['$scope', '$element', '$attrs',
function($scope, $element, $attrs) {
$scope.boxOpen = false;
}
]
}
}
);
如果不为此添加单独的控制器(或类似荒谬的事情),您将无法做到这一点。
这里最好的方法是制作这些按钮指令,每个按钮都有自己的隔离作用域......或者,使用两个不同的变量名称,每个按钮一个(如果计划有很多按钮,则将它们放在数组中)。
但我强烈建议采取指令性方法。
相关文章:
- 角度无线电按钮ng模型不起作用
- ng模型内的ng重复的ng重复开始
- 将输入值设置为ng模型属性[Angular]时出现问题
- 自定义指令中的AngularJS ng模型
- 如何为动态创建的文本区域中输入的值更新ng模型
- ng重复中的ng模型-初始化唯一作用域属性
- ng重复变量到ng模型
- 初始化ng模型时,Angular ui选择占位符不起作用
- 角度去抖动(ng模型选项)不起作用
- 即使 ng 模型有值,也使输入字段为空
- 选择框中带有关联的ng模型,选项中带有ng重复
- 为什么我的指令(使用链接)没有出现,并允许ng模型看到它
- AngularJS+IE 11+聚合物=ng模型未更新
- ng模型在$(element).clone()之后不起作用
- 为什么ng选项指令需要ng模型
- 使用引导时间选取器时,没有更新数据ng模型值
- 具有ng重复的动态ng模型
- 有没有一种方法可以在设计模式下将ng模型或工厂绑定到iframe
- 删除ng模型中的ng模型输入值
- Angular.js默认选中不'不适用于ng模型