小编Dav*_*ers的帖子

AngularJS - 在更改模型值的指令中,为什么我必须调用$ render?

我制作了一个指令,旨在使用ngModel指令附加到元素.如果模型的值匹配,则应将值设置为先前的值.在我的例子中,我正在寻找"foo",并将其设置回前一个,如果这是输入的内容.

我的单元测试在这方面很好,因为他们只关注模型值.但是在实践中,当"回放"触发时,DOM不会更新.我们在这里最好的猜测是设置old == new可以防止脏检查发生.我逐步完成了$ setViewValue方法,它看起来正在做它应该做的事情.但是,在我设置新值之后显式调用ngModel.$ render()之前,它不会更新DOM(以及您在浏览器中看到的内容).它工作正常,但我只想看看是否有更合适的方法.

代码在下面,这里有一个相同的小提琴.

angular.module('myDirective', [])
    .directive('myDirective', function () {
    return {
        restrict: 'A',
        terminal: true,
        require: "?ngModel",
        link: function (scope, element, attrs, ngModel) {
            scope.$watch(attrs.ngModel, function (newValue, oldValue) {
                //ngModel.$setViewValue(newValue + "!");   

                if (newValue == "foo")
                {
                    ngModel.$setViewValue(oldValue);   
                    /* 
                        I Need this render call in order to update the input box; is that OK?
                        My best guess is that setting new = old prevents a dirty check which would trigger $render()
                    */ …
Run Code Online (Sandbox Code Playgroud)

angularjs angularjs-directive

22
推荐指数
1
解决办法
3万
查看次数

如何捕获DacSevices.Deploy输出?

所以我设法通过Octopus部署了我们的DACPAC架构.我正在使用与.Net对象交互的Deploy.ps1脚本,就像文章描述的那样.

我想通过在我们的Octopus日志中包含从sqlcmd获得的"标准输出"来使部署过程更加透明.我正在寻找生成的架构修改消息以及我们的开发人员在前/后脚本中添加的任何自定义迁移迁移消息.

我能想到的唯一解决方法是首先使用DACPAC服务生成脚本,然后使用sqlcmd.exe运行它.有任何想法吗?

sql-server dacpac

15
推荐指数
1
解决办法
3856
查看次数