0
當前有一個指令,即模板使用ng-repeat來創建按鈕列表。當使用隔離作用域時,列表會填充,但是當出於必要的原因,我將範圍更改爲true時,不再顯示列表。自改變指令範圍以來不顯示服務數據的指令
下面是代碼的一個粗略的例子...
指導作用
var list= function() {
return {
templateUrl: "list.html",
restrict: 'E',
scope: true,
link: function (scope, element, attrs) {
scope.id = scope.$eval(attrs.id);
scope.header = scope.$eval(attrs.header);
scope.items = scope.$eval(attrs.items);
// button listeners...
}
};
};
控制器
var self = this;
self.duckItems = [];
self.gooseItems = [];
dataSvc.getListItems()
.then(function (response) {
self.duckItems = response.data;
self.gooseItems = _.union(self.gooseItems, _.flatten(_.map(self.duckItems , function (duck) {
return _.map(duck.goose, function (goose) {
return {name: goose};
});
})));
}, function (reason) {
console.log('crap ' + reason);
});
服務
serviceModule.service('dataSvc', ['$http', function ($http) {
var self = this;
self.getListItems= function() {
return $http.get('js/list_items.json');
};
}]);
模板
<ul>
<li ng-repeat="item in items" ng-class="(item.selected ? 'RUIFW-selected' : '')" ng-click="click(item)">
<label>{{ item.name }}</label>
<input type="checkbox" ng-model="item.selected" />
</li>
</ul>
'作用域:true'是*不*隔離,它創建子作用域 – ajmajmajma
是的問題是,當它從隔離{}更改爲true時,由於未提及的原因,數據不顯示。 –
因爲它從父母繼承:) – ajmajmajma