设置 Angular-UI Select2 多重指令的初始值

2024-04-06

我有一个 select2 指令,用于多个选择的国家/地区,并使用自定义查询来获取数据:

// Directive
<input ng-model="filters.countries" ui-select2="filters.countryOptions"
    data-placeholder="Choose a country...">

// filters.countryOptions
{ 
    multiple: true,
    query: function() { 
        get_list_of_countries(); 
    }
}

// Formatted data from remote source
[
    {id: 'US', text: 'United States'},
    {id: 'CA', text: 'Canada'} ...
]

我正在尝试使用以下方法在控制器中设置最初选择的值:

$scope.filters.countries = [{id: 'US', text: 'United States'}];

这确实正确设置了模型,但是这是在 select2 初始化发生之前发生的。当我单步执行剩余的初始化代码时,输​​入暂时显示[Object]在最终消失之前$scope.filters.countries和输入,但它不显示输入中的占位符文本。

为了解决这个问题,我使用以下方法来重置模型的初始值:

$scope.$on('$viewContentLoaded', function() {
    setTimeout(function() {
        $scope.filters.countries = [{id: 'US', text: 'United States'}];
    }, 100);
});

使用a似乎真的很黑客setTimeout。我缺少的还有更好的方法吗?

Update 1

根据 ProLoser 的要求,这里有一个演示和 github 票证。

Demo: http://plnkr.co/edit/DgpGyegQxVm7zH1dZIJZ?p=preview http://plnkr.co/edit/DgpGyegQxVm7zH1dZIJZ?p=preview

GitHub 问题:https://github.com/angular-ui/angular-ui/issues/455 https://github.com/angular-ui/angular-ui/issues/455

按照 ProLoser 的建议,我开始使用 select2 的 initSelection 函数:

initSelection : function (element, callback) {
  callback($(element).data('$ngModelController').$modelValue);
},

它确实有效,但仍然感觉像是一种解决方法。


根据 ProLoser 的要求,这里有一个演示和 github 票证。

Demo: http://plnkr.co/edit/DgpGyegQxVm7zH1dZIJZ?p=preview http://plnkr.co/edit/DgpGyegQxVm7zH1dZIJZ?p=preview

GitHub 问题:https://github.com/angular-ui/angular-ui/issues/455 https://github.com/angular-ui/angular-ui/issues/455

按照 ProLoser 的建议,我开始使用 select2 的 initSelection 函数:

initSelection : function (element, callback) {
  callback($(element).data('$ngModelController').$modelValue);
},

它确实有效,但仍然感觉像是一种解决方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置 Angular-UI Select2 多重指令的初始值 的相关文章

随机推荐

  • 使用媒体播放器的 Android http 直播流媒体 URL

    我正在尝试播放一个网址 但它没有播放 我使用的代码如下 logcat 显示 Mediaplayer 错误 1 1002 开始状态为 0 且错误 38 0 为什么 我哪里出错了 你能帮我看看怎么玩吗 import java io IOExce
  • 运行高优先级 sshd 进程,而不将该优先级继承给子进程

    我使用以下命令给 sshd 进程赋予最高优先级 nice n 20 sbin sshd 但默认情况下它也会给子进程 bin sh 最高优先级 那么 是否可以为子进程赋予普通优先级 0 而不是最高优先级 假设此 sshd 是 OpenSSH
  • Android SQLite CursorWindowAllocationException 崩溃

    当我发出多个cursor moveToNext 请求时 我的程序崩溃了 错误消息如下 android database CursorWindowAllocationException Cursor window allocation of
  • 主管不使用 Gunicorn + Flask

    我正在尝试在 Ubuntu 12 04 系统中从 Supervisor 运行 Gunicorn Gunicorn 运行 Flask 应用程序 使用 Flask 的嵌入式服务器测试的简单 REST Web 服务 我通过克隆 GIT 存储库来安
  • React 项目中 Bootstrap 需要 jQuery

    我正在开发一个 React js 项目 我不使用 React Bootstrap 而是将 Bootstrap 的 CSS 加载到我的项目中 我现在需要导入 jQuery 以便我可以使用下拉菜单等 入口点文件 index js 希望它能起作用
  • Pip“找不到满足 pygame 要求的版本”[重复]

    这个问题在这里已经有答案了 当我尝试使用以下命令安装 PyGame 时 pip install pygame it says 收集pygame 找不到满足要求的版本 要求 pygame 来自版本 未找到匹配的分布 我相信我使用的是最新版本
  • 在 Cygwin 中从源代码构建 Vim

    我正在尝试在 Cygwin 下从源代码包构建 Vim 以启用 Python 支持 我正在按照给出的指示进行操作here http cygwin com ml cygwin 2004 06 msg00540 html 但是当我运行时遇到这个错
  • 在测试台中显示信号名称/文字

    是否可以在 Verilog 中引用 显示信号的名称 文字 对于在 Verilog 测试台中创建通用信号检查功能来说 这将是一个有用的功能 我知道使用 display 时 m 将打印信号的范围 是否有显示信号名称的等效项 在 Verilog
  • C++11 future.wait_for() 始终返回 future_status::timeout

    我有一个 C 11 程序 用于检查数字是否为素数 程序等待有一个 future 对象准备好 准备好后 程序会告诉 future 对象的提供者函数是否认为该数字是素数 future example include
  • 如何在 Cython 的 setup.py 中指定 Python 3 源?

    我正在尝试按照本教程在 Cython 中执行 Hello World 程序http docs cython org src tutorial cython tutorial html cython hello world http docs
  • 如何使用 matplotlib 显示两个图形?

    我在同时绘制两个图形时遇到一些麻烦 未在单个图中显示 但根据文档 我写了代码 只有图一显示 我想也许我失去了一些重要的东西 有人能帮我弄清楚吗 谢谢 代码中使用的 tlist first 是数据列表 plt figure 1 plt his
  • 初始化 C 结构的双花括号的含义是什么?

    我目前正在处理遗产C 代码 用gcc 2 9 X成功编译 我被要求将此遗留代码移植到 gcc 3 4 X 大多数错误都很容易纠正 但这个特殊的错误让我感到困惑 上下文 struct TMessage THeader header TData
  • C# 程序员的 C++ [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我对 Java 和 C 的 OO 有很好的理解 而且我很幸运在我的工程课程中接触到了汇编程序和 C 的
  • 控制器中的@Transactional

    首先我想说 我完全同意只让服务层具有事务性 但有时世界并不完美 而现在我正处于这种情况之中 基本上我被分配到一个很棒的项目 遗留代码已经有 4 年多了 问题是 开发人员没有遵循任何引入业务逻辑的模式 因此您可以对来自控制器的多个服务调用进行
  • Tomcat 7 连接被拒绝

    我有一个在 Jelastic 上运行的 Tomcat 实例 并且有两个已部署的应用程序 用于 foo 上下文和 bar 上下文 在处理对 foo 的请求期间 我们向 bar 发出 HTTP 请求 用于授权 并且这里总是出现异常 Connec
  • 如何使用 Castle Core 或其他库(只是免费库)编写拦截器(AOP)以解决交叉问题

    我想要一个像这样的属性来处理横切关注点 例如 Logging Exception public class MyService Log Interception AOP ExceptionHandler Interception AOP p
  • 如何通过 CLI 快速重命名 macOS 或 Linux 上的文件?

    这是我的源文件 e2f9eb91 645f 408a 9241 66490b61a617 file module 1 txt d20f06a8 4de1 4da0 8175 93e9b2d81c42 file module 2 txt 67
  • 在 Windows 7 上通过 VPN 使用时 Git 无响应

    这是关于通过 VPN 处理本地存储库时简单 git 命令无响应的问题 我的 Windows 用户帐户 管理员角色 是我用来登录的域帐户 我有一些从 github 源克隆的本地存储库 场景 1 在没有 VPN 的 Windows 上使用本地存
  • xamarin.forms 处理 WebView 上的 Clicked 事件

    我想处理 WebView 控件上的单击 点击事件 我已经尝试过 GestureRecognizers 但没有任何反应 我认为 WebView 可能有某种方式使事件处理为 true
  • 设置 Angular-UI Select2 多重指令的初始值

    我有一个 select2 指令 用于多个选择的国家 地区 并使用自定义查询来获取数据 Directive