使用 HTML 中的字符串访问范围键
Accessing scope keys with string in HTML
我想显示服务器通过websocket动态创建和更新的按钮列表。我的范围如下所示:
$scope = {
buttons: ["buttonA", "buttonB"],
buttonA: { caption: "OK" },
buttonB: { caption: "Cancel" }
};
在我的 HTML 中,我将使用 ng-repeat 来浏览按钮列表,将它们添加到 DOM 并使用每个按钮的 caption 属性用作"value"属性。
但是我不知道如何从 HTML 中的字符串访问 json 字段。
我不确定你为什么想要这样的模型。您可以像这样维护 $scope.button 中的按钮:
<div ng-app="myApp" ng-controller="MyCtrl">
<div ng-repeat="b in buttons">
<button>{{b.caption}}</button>
</div>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("MyCtrl",function ($scope) {
$scope.buttons = [{ caption: "OK" }, { caption: "Cancel" }];
});
</script>
如果出于某种原因,您希望将各个按钮放在作用域的"根"上,则可以使用如下所示的查找函数:
<div ng-app="myApp" ng-controller="MyCtrl">
<div ng-repeat="b in buttons">
<button>{{lookup(b).caption}}</button>
</div>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("MyCtrl",function ($scope) {
$scope.buttons = ["buttonA", "buttonB"];
$scope.buttonA = { caption: "OK" };
$scope.buttonB = { caption: "Cancel" };
$scope.lookup = function(key) {
return $scope[key];
}
});
</script>
相关文章:
- 可以't访问JavaScript函数范围中的变量
- 如何从chrome扩展访问angularjs根范围
- 访问内部功能范围的元素,而不是敲除中的外部
- Angularjs:访问范围变量数组并计算平均值
- 来自控制器外部的角度JS访问范围
- 在指令内访问范围
- 使用多线程.js访问范围
- Angular js 指令控制器访问范围属性,但返回未定义
- 从子元素访问范围指令
- 角度:从<脚本>标记内访问范围
- 使用 HTML 中的字符串访问范围键
- AngularJS:ngTranslude和ngRepeat的访问范围
- Angularjs访问范围
- 从 angular.js 指令中的控制器访问范围变量
- 简单的例子可以't访问范围
- 角→渲染和克隆元素->访问范围
- 指令angular中的访问范围控制器变量
- 无法访问范围内的Javascript变量
- jQuery插件选择器访问范围
- 指令模板函数的Angular访问范围