ngTagsInput 未绑定到模型
ngTagsInput not binding to model
我刚开始使用 ngTagsInput angular 库,但在更新模型时遇到了问题。我在 ionicPopup 中显示标签输入,有趣的是,标签添加事件触发,显示 $scope.sites[] 已填充。
当我调用 $scope.test() 时,数组为空。它保存值的唯一上下文是绑定到标签添加事件的方法。
这是一个简化的控制器示例:
$scope.sites = [];
$scope.addSites = function() {
// this works
console.log("In addSites");
console.dir($scope.sites);
}
$scope.test = function() {
// in any other method $scope.sites is empty
console.dir($scope.sites);
}
在我看来,我将标签元素定义为:
<tags-input ng-model="sites" add-on-space="true" placeholder="Add Site Numbers" on-tag-added="addSites($tag)"></tags-input>
我觉得非常奇怪,$scope 变量可以包含我在库事件上下文中期望的值,但不能包含在该上下文之外。
在绑定方面有什么特别需要做的吗?就文档而言,我看不出我遗漏了什么。任何建议将不胜感激。
经过反复试验,我最终通过执行以下操作解决了这个问题。
<tags-input ng-model="$parent.sites" add-on-space="true" placeholder="Add Site Numbers" on-tag-added="addSites($tag)"></tags-input>
我已经在调用 $ionicPopup({}) 时传递了 'scope : $scope',但是没有将 ng-model 设置为“$parent.sites”,它没有正确绑定。
希望这可以避免有人拔头发!
我刚开始使用 ngTagsInput angular 库,但在更新模型时遇到了问题。我在 ionicPopup 中显示标签输入,有趣的是,标签添加事件触发,显示 $scope.sites[] 已填充。
当我调用 $scope.test() 时,数组为空。它保存值的唯一上下文是绑定到标签添加事件的方法。
这是一个简化的控制器示例:
$scope.sites = [];
$scope.addSites = function() {
// this works
console.log("In addSites");
console.dir($scope.sites);
}
$scope.test = function() {
// in any other method $scope.sites is empty
console.dir($scope.sites);
}
在我看来,我将标签元素定义为:
<tags-input ng-model="sites" add-on-space="true" placeholder="Add Site Numbers" on-tag-added="addSites($tag)"></tags-input>
我觉得非常奇怪,$scope 变量可以包含我在库事件上下文中期望的值,但不能包含在该上下文之外。
在绑定方面有什么特别需要做的吗?就文档而言,我看不出我遗漏了什么。任何建议将不胜感激。
经过反复试验,我最终通过执行以下操作解决了这个问题。
<tags-input ng-model="$parent.sites" add-on-space="true" placeholder="Add Site Numbers" on-tag-added="addSites($tag)"></tags-input>
我已经在调用 $ionicPopup({}) 时传递了 'scope : $scope',但是没有将 ng-model 设置为“$parent.sites”,它没有正确绑定。
希望这可以避免有人拔头发!