Javascript 在视图中使用字符串作为作用域属性名称
我正在从事一个从JSON文件中提取大量问题的项目 问题格式各不相同,但问题是由滑块问题类型引起的 我运行一个HTTP请求来获取JSON数据,并将其分配给一个名为“questions”的范围。然后我在视图中重复这些问题,如果(在本例中)问题类型是“slider”,我将输出HTML 问题是滑块使用了一个插件和一个带有选项的范围变量。因为我无法控制问题,所以我正在动态创建范围:Javascript 在视图中使用字符串作为作用域属性名称,javascript,angularjs,Javascript,Angularjs,我正在从事一个从JSON文件中提取大量问题的项目 问题格式各不相同,但问题是由滑块问题类型引起的 我运行一个HTTP请求来获取JSON数据,并将其分配给一个名为“questions”的范围。然后我在视图中重复这些问题,如果(在本例中)问题类型是“slider”,我将输出HTML 问题是滑块使用了一个插件和一个带有选项的范围变量。因为我无法控制问题,所以我正在动态创建范围: angular.forEach($scope.questions, function(question) { $sc
angular.forEach($scope.questions, function(question) {
$scope[question.definedScopeName] = {
// set up the slider config.
};
});
JSON问题包含用于作用域的已定义名称,因此在本例中为“sliderOne”
所以。。。在我的视图中,我在ng repeat中输出滑块:
<rzslider
class="question__slider"
rz-slider-model="question.definedScopeName.value"
rz-slider-options="question.definedScopeName.options">
</rzslider>
这里的问题是,为了正确设置模型范围,我使用的是来自questions范围的数据,因此它是一个字符串
无论如何,我可以告诉Angular,我实际上想要将模型设置为名为$scope的范围。'thedefinedscope name'
谢谢 将括号符号与
这个
关键字一起使用
<!--
<rzslider
class="question__slider"
rz-slider-model="question.definedScopeName.value"
rz-slider-options="question.definedScopeName.options">
</rzslider>
-->
<!-- Use bracket notation -->
<rzslider
class="question__slider"
rz-slider-model="this[question.definedScopeName].value"
rz-slider-options="this[question.definedScopeName].options">
</rzslider>
在角度表达式中,
this
关键字绑定到角度表达式的范围。您的问题似乎是一个字符串问题。不可能done@VinodLouis问题是一个名为“definedScopeName”字符串的对象。我想将模型设置为具有相同名称的范围变量请在我认为这不可能时提供一个!非常感谢你。