$scope变量是未定义的,除非我再次强制它从服务中检索
The $scope variable is undefined unless I forced it to retrieve from service again
下面是关于Angular控制器的代码片段。我正试图从这个github项目学习Angular
问题部分位于函数addStock。我已经定义了$scope。但是,如果我删除$作用域中的重新声明,就可以在初始化部分的watchlist中使用。addStock函数,$scope。将不会用正确的值填充Watchlist。有什么Angular专家能给我指出来吗?如果你想看到我的完整的项目代码-这里是链接。
angular.module('stockCatApp')
.controller('WatchlistCtrl', function ($scope, $routeParams, $modal, WatchlistService, CompanyService) {
// Initializations
$scope.companies = CompanyService.query();
$scope.watchlist = WatchlistService.query($routeParams.listId);
$scope.stocks = $scope.watchlist.stocks;
$scope.newStock = {};
var addStockModal = $modal({
scope: $scope,
template: 'views/templates/addstock-modal.html',
show: false
});
$scope.showStockModal = function () {
addStockModal.$promise.then(addStockModal.show);
};
$scope.addStock = function () {
//The following line needs to be put here again in order to retrieve the right value
$scope.watchlist = WatchlistService.query($routeParams.listId);
///////////////////////////////////////////////////////////////////////
$scope.watchlist.addStock({
listId: $routeParams.listId,
company: $scope.newStock.company,
shares: $scope.newStock.shares
});
addStockModal.hide();
$scope.newStock = {};
};
});
是否可以执行console.log($scope.watchlist);在绑定了两个$scope之后,看看数据和它的类型是否匹配?
$scope.watchlist = WatchlistService.query($routeParams.listId);
console.log($scope.watchlist);
$scope.watchlist.addStock({
listId: $routeParams.listId,
company: $scope.newStock.company,
shares: $scope.newStock.shares
});
console.log($scope.watchlist);
请随意张贴日志
看起来好像你正在从一个模态调用$scope.addStock()。在这种情况下,模态不一定继承父作用域。这取决于您正在使用的所有内容的版本。看起来你正在使用角带(我看了你的鲍尔.json)。如果你查看他们的$modal源代码,你会发现:
https://github.com/mgcrea/angular-strap/blob/master/src/modal/modal.jsvar scope = $modal。$scope = options。范围,,options.scope.$new() || $rootScope.$new();
所以,当你打开你的模态时,你正在创建一个新的作用域。但是,您可以使用$parent访问原始作用域。
相关文章:
- 通过Magento的网络服务检索运费
- 从web服务中检索10000行并插入到OWC11电子表格中
- 如何检索 Azure 移动服务表的行位置
- 从谷歌电子表格检索单元格日期到HTML服务
- 从$cookies检索时,Javascript Arrays 在 Angular 服务中没有功能
- 在解决承诺 AngularJS/ES6 后检索存储在服务中的数据
- 客户端 JavaScript 和/或 JavaScript 代码,使用 jquery 调用 WCF 服务检索 Syste
- 如何从图表谷歌脚本的电子表格中检索数据.(使用 HTML 服务)
- AngularJS:从http GET(来自REST服务)检索到的JSON数据中显示一个选择框
- 在Phonegap中的AJAX REST服务调用期间未正确检索值
- 无法从web服务检索JSON数据
- 无法在AngularJS服务中检索缓存的jQuery选择器
- 从AngularJS服务检索值而不返回值
- 如何从服务中将数据检索到指令(angularjs)中
- 从javascript调用的web服务中检索值
- $scope变量是未定义的,除非我再次强制它从服务中检索
- 将文本文档发布到云的Web服务,以便可以通过API调用动态检索文本文档并在客户端呈现
- AngularJS:如何从服务中检索返回值
- 如何在android中使用javascript从restful wcf web服务中检索数据
- 如何检索web服务数据并将其放置在html表中