我对棱角分明的js很陌生,目前它还很顺利,但现在我有一个问题。
我有一个带有topnav和contentpart的模板。全部都有自己的控制器。 使用按钮,我可以打开一个“子菜单”,我可以在“液体”部分中从数据库中选择数据。多数人工作得很好。
由于Topnav是在页面的登录处呈现的,因此topnav不会再次呈现。
如果我在内容部分添加Liquid,我必须重新加载“Liquid”-Dropdown背后的数据。
该下拉列表封装在一个指令中:
function liquidselect(Data){
return {
restrict: 'AE',
templateUrl: 'views/controls/liquid_select.html',
scope: {
selectedValues : '='
},
link: function(scope) {
},
controller: function ($scope) {
//
Data.post('ownrecipes').then(function (results) {
$scope.searchRes = results;
});
// debugger;
//$scope.searchRes = RecipeDataService.data;
$scope.disabled = undefined;
$scope.searchEnabled = false;
$scope.searchRes = [];
$scope.flavoring = {amount: {}};
$scope.updateModelValue = function (selected) {
// console.log(selected);
//
$scope.selectedValues = selected;
};
}
}
}
与服务器的通信由工厂完成:
app.factory("Data", ['$http', 'toaster',
function ($http, toaster ) { // This service connects to our REST API
// var deffered = $q.defer();
var serviceBase = 'api/v1/';
var obj = {};
obj.toast = function (data) {
toaster.pop(data.status, "", data.message, 3000, 'trustedHtml');
}
obj.get = function (q) {
return $http.get(serviceBase + q).then(function (results) {
return results.data;
});
};
obj.post = function (q, object) {
return $http.post(serviceBase + q, object).then(function (results) {
return results.data;
});
};
obj.put = function (q, object) {
return $http.put(serviceBase + q, object).then(function (results) {
return results.data;
});
};
obj.delete = function (q) {
return $http.delete(serviceBase + q).then(function (results) {
return results.data;
});
};
return obj;
}]);
如何从子范围更新/重新加载指令的数据?有机会吗?
这是一个能够展示我的问题并想要我做的人:
http://plnkr.co/edit/bNANkQYZfBaS4CHH3dwX
我希望它对你有帮助: - )
布局: Basic Layout