2015-02-11 31 views
0

我有一个要求 - 单个角度js函数根据函数的输入参数之一动态返回范围变量。对于控制器功能,我发现了一些关于如何返回动态范围的示例,如如何访问在angularjs中返回的动态范围

$ scope [attributeId] = data.response; (attributeId是一个输入参数,data.response是一个数组)

问题是如何在HTML中使用这样的范围变量?我有一个像这样的选择控件,它将填充下拉菜单中的值,在这种情况下应该指定为模型和选项。

<button ng-click="getAttributeValue(getProductsModel,p.attributeId, $event)">Get Attribute Value</button> 
<select data-ng-model="attributeModel" 
    data-ng-options="a for a in attributeResponse"> 
    <option value="">-- Select Value --</option> 
</select> 

一个例子真的很有帮助。

回答

0

您应该将其分配给$scope.attributeId。之后,您可以使用ng-options指令填充它。

现在我不知道你的数据结构如何,所以这里是汽车的一个例子。

array

$scope.cars = [ 
    { 
     id: 1, 
     name: 'Ford' 
    }, 
    { 
     id: 3, 
     name: 'Mercedes' 
    }, 
    { 
     id: 3, 
     name: 'BMW' 
    }, 
] 

而且<select>元素与填充汽车:

<select ng-model="selectedOption" ng-options="car.name for car in cars"> 

现在,您可以访问使用$scope.selectedOption所选择的选项。

+0

不完全。同一个函数会被多次调用不同的输入,每次都会返回一个需要持久化的不同数据的数组。每个范围像$ scope [101],$ scope [201],$ scope [301]被绑定到不同的下拉菜单。 – user2596838 2015-02-11 13:00:17