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”,它没有正确绑定。

希望这可以避免有人拔头发!