我正在尝试建立一个搜索引擎选择指令,其中有2个下拉列表(一个用于搜索引擎,一个用于国家)
然而,我已经设法让它工作,但我希望能够添加另一个搜索引擎后,第一个已被选中,但也限制他们最多3个搜索引擎。
这就是我被卡住的地方,因为复制指令显然会使所有3个搜索引擎的选择都相同。
在HTML
中,该指令如下所示:
<wiz-engine-selector>
<wiz-engine selected-engine="knc.selectedEngine"></wiz-engine>
<wiz-country selected-country="knc.selectedCountry"></wiz-country>
</wiz-engine-selector>
你知道如何在不共享相同数据的情况下复制指令吗?
这是一个演示plunker
发布于 2015-05-26 23:48:16
我在您的指令中使用ng-repeat解决了您的问题。
下面是一个有效的plunker
HTML
<wiz-engine-selector ng-repeat="engineSelector in engineSelectors">
<wiz-engine selected-engine="engineSelector.selectedEngine"></wiz-engine>
<wiz-country selected-country="engineSelector.selectedCountry"></wiz-country>
</wiz-engine-selector>
控制器
app.controller('MainCtrl', function($scope) {
//Each engineSelector will have its own set of variables into the engineSelectors array.
$scope.engineSelectors = [{
selectedEngine : { icon:{}, name:{} },
selectedCountry : { flag:{}, name:{} }
}];
$scope.addAnother = function(){
$scope.engineSelectors.push({
selectedEngine : { icon:{}, name:{} },
selectedCountry : { flag:{}, name:{} }
});
};
})
如果您想限制三个搜索引擎,只需在"addAnother“函数中添加一个限制
https://stackoverflow.com/questions/30462600
复制相似问题