使用 Jade 和 CoffeeScript 将变量传递给 Angular 中的模态 window
Passing variable to Modal window in Angular with Jade and CoffeeScript
我试图将一个值从页面传递到弹出模式 window 但浏览器给了我一个未定义的值。以下是模态 window
的页面控制器函数
$scope.showUserDetails = (user) ->
modalInstance = $modal.open
templateUrl: "/partials/user_details.html"
controller: "UserDetailCtrl"
keyboard: true
resolve:
selectedUser: ->
user
modalInstance.result.then (args) ->
updateFilter()
下面是我的模态 window 控制器
.controller('UserDetailCtrl', [
'$scope'
'$modalInstance'
'selectedUser'
($scope,$location,$http,$modalInstance,selectedUser) ->
console.log(selectedUser);
$scope.user = selectedUser;
])
但变量 selectedUser 始终未定义。我什至尝试在主控制器中传递一个字符串而不是变量 'user' 但我仍然得到一个未定义的值。
根据您的评论,问题出在您列出的依赖项上。在您的控制器函数中,您引用了 $location
和 $http
但您没有将它们列在字符串名称数组中。要修复你需要从你的控制器中删除它们(如果你没有使用它们),或者在字符串列表中正确指定它们。
从控制器中删除
.controller('UserDetailCtrl', [
'$scope'
'$modalInstance'
'selectedUser'
($scope,$modalInstance,selectedUser) ->
console.log(selectedUser);
$scope.user = selectedUser;
])
或添加到字符串列表
.controller('UserDetailCtrl', [
'$scope'
'$location',
'$http',
'$modalInstance'
'selectedUser'
($scope,$location,$http,$modalInstance,selectedUser) ->
console.log(selectedUser);
$scope.user = selectedUser;
])
我试图将一个值从页面传递到弹出模式 window 但浏览器给了我一个未定义的值。以下是模态 window
的页面控制器函数$scope.showUserDetails = (user) ->
modalInstance = $modal.open
templateUrl: "/partials/user_details.html"
controller: "UserDetailCtrl"
keyboard: true
resolve:
selectedUser: ->
user
modalInstance.result.then (args) ->
updateFilter()
下面是我的模态 window 控制器
.controller('UserDetailCtrl', [
'$scope'
'$modalInstance'
'selectedUser'
($scope,$location,$http,$modalInstance,selectedUser) ->
console.log(selectedUser);
$scope.user = selectedUser;
])
但变量 selectedUser 始终未定义。我什至尝试在主控制器中传递一个字符串而不是变量 'user' 但我仍然得到一个未定义的值。
根据您的评论,问题出在您列出的依赖项上。在您的控制器函数中,您引用了 $location
和 $http
但您没有将它们列在字符串名称数组中。要修复你需要从你的控制器中删除它们(如果你没有使用它们),或者在字符串列表中正确指定它们。
从控制器中删除
.controller('UserDetailCtrl', [
'$scope'
'$modalInstance'
'selectedUser'
($scope,$modalInstance,selectedUser) ->
console.log(selectedUser);
$scope.user = selectedUser;
])
或添加到字符串列表
.controller('UserDetailCtrl', [
'$scope'
'$location',
'$http',
'$modalInstance'
'selectedUser'
($scope,$location,$http,$modalInstance,selectedUser) ->
console.log(selectedUser);
$scope.user = selectedUser;
])