gpt4 book ai didi

javascript - Angular : how to handle code provided by attributes

转载 作者:行者123 更新时间:2023-12-02 17:40:56 27 4
gpt4 key购买 nike

作为我想要的示例,请考虑以下示例

<select ng-options="option.text for option in options"></select>

在我的指令中,我想使用类似于 ngOptions 的东西,因为我需要创建一个列表

例如,假设我有一个指令 barFoo,调用如下:

<bar-foo options="options"></bar-foo>

模板/html如下:

<ol>
<li ng-repeat="option in options" ng-bind="option.text"></li>
</ol>

需要什么才能将所有这些更改为类似的调用

<bar-foo options="option.text for option in options"></bar-foo>

我需要这个的主要原因是因为我不知道保存标签文本的属性名称(在本例中是文本)

最佳答案

我提供了一个 fiddle ,看看这是否有帮助。我没有传递“options.text for option in options”,而是将其设置为传递“options”数组,然后传递所需的字段。我假设该字段将被设置为变量;如果它是硬编码的,那么你可以只做 field='someFieldName' 。

http://jsfiddle.net/y376K/1/

HTML

<body ng-app='testApp'>
<div ng-controller='TestCtrl'>
<bar-foo options='options' field='{{optionsField}}'></bar-foo>
</div>
</body>

JS

angular.module('testApp', [])
.controller('TestCtrl', function($scope) {
$scope.options = [
{
text: 'Node.js rocks my socks',
language: 'Node.js',
},
{
text: 'Angular is hot',
language: 'Angular.js',
},
{
text: 'Backbone.js is mmmm',
language: 'Backbone.js',
}
];
$scope.optionsField = 'text';
})
.directive('barFoo', function() {
return {
restrict: 'E',
scope: {
options: '=',
field: '@'
},
template: '<ol><li ng-repeat="option in options" ng-bind="option[field]"></li>'
};
})

关于javascript - Angular : how to handle code provided by attributes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22226621/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com