我想显示服务器通过 websocket 动态创建和更新的按钮列表。 我的范围如下所示:
$scope = {
buttons: ["buttonA", "buttonB"],
buttonA: { caption: "OK" },
buttonB: { caption: "Cancel" }
};
在我的 HTML 中,我将使用 ng-repeat 来浏览按钮列表,将它们添加到 DOM 中,并使用每个按钮的标题属性作为“value”属性。
但我不知道如何从 HTML 中的字符串访问 json 字段。
最佳答案
我不知道你为什么想要这样的模型。您可以像这样维护 $scope.buttons 中的按钮:
<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>
关于javascript - 使用 HTML 中的字符串访问范围键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26992484/