在我的项目中,我使用 ngRoute 将 edit.php 视图加载到我的索引 ng-view
我不知道为什么 ngResource 结果没有绑定到我的 ng-model,这是我的代码:
Javascript:
var app = angular.module('smodule', ['ngRoute','ngResource']);
/* Factory */
app.factory('Stocks', function($resource){
return $resource('<?=$this->module_url;?>/stocks/:stockId', {stockId:'@stock_id'}, {
query: {method:'GET', isArray:true},
get: {method:'GET',isArray:true, params:{stock_id: '@stock_id'}},
update: {method:'PUT'}
});
});
/* Router */
app.config(function($routeProvider) {
$routeProvider
.when('/stock',{
templateUrl: 'edit.php',
controller: 'stockDetailController'
})
.when('/stock/:stockId', {
templateUrl: 'edit.php',
controller: 'stockDetailController'
});
});
/*Controller*/
app.controller('stockDetailController', function($scope, Stocks, $routeParams){
console.log($routeParams.stockId);
if ($routeParams.stockId){
/* Update stock data */
Stocks.get({stockId:$routeParams.stockId}, function(stock){
$scope.stock = stock;
console.log(stock);
});
}
});
/* Bootstrap the module as ng-module */
angular.bootstrap(document, ['smodule']);
编辑.php:
<div class="columns medium-8 large-8 ">
<label>Stock name
<input type="text" name="stock_name" ng-model="stock.name" />
</label>
</div>
后端返回以下 json
[
{
id: "1",
name: "My stock name"
}
]
我使用 chrome 调试器检查是否从 ngResource 返回了任何结果,它显示以下内容:
[Resource, $promise: Object, $resolved: true]
0: id: "1",
name: "My stock name"
$promise: Object
$resolved: truelength: 1
任何人都可以帮忙吗?谢谢你。