小编Dou*_*oug的帖子

AngularJS,$ http.get()和"控制器为"

我对整个AngularJS世界以及它是如何工作都很陌生,但是我很难让它按预期工作.我知道它与我使用的方式有关,$http.get()并试图将变量分配回我的控制器,但我无法弄明白.

使用$scope而不是this我可以使它工作,但如果可能的话,我更喜欢使用this所以我可以使用"控制器作为"

码:

app.controller('ctrlSuppliers', function($http){

    this.supplierList = {};

    $http.get("http://some_url_here")
            .success(function(response) {  this.supplierList = response.records;})
            .error(function() { this.supplierList = [{supplier_id: 0, supplier_name: 'Error Getting  Details'}];});
});
Run Code Online (Sandbox Code Playgroud)

从这个例子中,我无法$http.getsupplierListHTML页面内部访问请求中的{{ supplier.supplierList[0].supplier_name }}任何结果(即不显示任何结果)

我知道如果我将控制器更改为$scope可以访问该数据(虽然不使用与上面相同的格式),并且我也知道通过console.log(this.supplierList).success调用中使用来填充数据.

我也知道它不工作的原因是因为this从控制器内到$http.get调用内的变化的上下文.

所以我的问题是:如何使用this而不是使用$ http.xxx调用来访问结果scope?我已经阅读了一些不同的消息来源,但大多数人都在谈论使用$scope和承诺.我没有发现任何封面使用this(或声明它var supplier = this).任何帮助将非常感激.

谢谢,

javascript angularjs angularjs-http

7
推荐指数
1
解决办法
8843
查看次数

无法在ngIf内按ID获取元素

我已经玩了A2一段时间了,我明白我的问题是由于所有内容初始化并在A2中运行的顺序,并且由于*ngIfhtml但是我不明白的是为什么或如何获得我想要的结果.

使用以下测试组件:

@Component({
    moduleId: module.id,
    selector: 'test',
    templateUrl: 'test.component.html' })

export class TestComponent implements OnInit {
    test: any;

    settest():void{ 
        //this.test = {test: 1}; --This works using ngAfterViewInit

        //This causes the console.log in ngAfterViewInit to be null
        this.route.params
            .switchMap((params: Params) => this.testService.getTest(params['id']))
            .subscribe(test => {
                this.test = test;
        });
    }

    ngOnInit(): void
    {
        this.settest();
        console.log(document.getElementById('test1')); --Null
        console.log(document.getElementById('test2')); -- Not NUll
    } 

    ngAfterViewInit(): void
    {
        console.log(document.getElementById('test1')); --Null
        console.log(document.getElementById('test2')); -- Not NUll
    } 
}
Run Code Online (Sandbox Code Playgroud)

test.component.html

<div *ngIf="test">
    <div id="test1"></div>
</div> …
Run Code Online (Sandbox Code Playgroud)

getelementbyid angular-ng-if angular

4
推荐指数
1
解决办法
2324
查看次数

SQL Server 2012 Foreach 文件夹中的 SSIS

我一直在与这个问题作斗争,但我似乎没有取得任何进展,而且我读过的少数方法似乎对我不起作用(无论出于何种原因)。

我有一个文件夹结构如下:

--Main Folder
    --subfolder1
        --file1.txt
        --file2.txt
        --file3.txt
    --subfolder2
        --file4.txt
        --file5.txt
        --file6.txt
Run Code Online (Sandbox Code Playgroud)

使用 ForEach File 枚举器,我可以在没有任何问题的情况下处理任何给定目录中的每个文件,但是我一生都无法弄清楚如何遍历目录。

我有一个设置为变量的基本路径目录。我想在 SSIS 中得到的内容如下:

foreach folder in mainfolder
do
    set variable to the folder name (i.e. subfolder1 (no path))
    foreach file in folder
    do
        Process File steps (can do this currently by specifying one of the sub folders)
    done
done
Run Code Online (Sandbox Code Playgroud)

希望这是有道理的。

正如我之前提到的,我尝试了几种方法,包括一个脚本来构建一个包含每个文件夹路径的 XML blob,然后遍历节点,但是这不起作用,我相信一定有更简单的方法来做它。

总而言之,我需要一个 foreach 文件夹外循环,它将一个变量设置为文件夹名称,以便我可以将现有的 foreach 文件循环嵌套在其中。

可能是我正在尝试做一些 SSIS 无法做的事情,我觉得应该这样做,因为我在编程语言中做过类似的事情

sql-server ssis

2
推荐指数
1
解决办法
3192
查看次数

Oracle绑定变量,程序和头痛

我想知道你是否可以指出我正确的方向.我花了最后一小段时间试图找出如何在块代码中使用Bind变量和声明.我的问题是,每次我尝试在SQL Developer中运行代码块时,它返回错误"Bind Variable"disp"都没有声明.

在非块代码中,我可以得到我期望的结果.以下我知道工作,我得到的结果:

var disp varchar2(200);
begin
    test_procedure('test', 100, :disp);
end;
/
print :disp
Run Code Online (Sandbox Code Playgroud)

上面的代码返回一个值test100.

但是,如果我尝试将其移动到一个代码块中,我可以在外部应用程序(Java或PHP)中作为单行使用,我开始遇到麻烦.到目前为止我所拥有的是:

declare
    disp varchar2(200);
begin
    test_procedure('test', 100, :disp);
end;
/
print :disp
Run Code Online (Sandbox Code Playgroud)

当我运行以上内容时,我得到:

绑定变量"disp"未声明

我尝试了一些不同的方法,从声明框中使用var到尝试引用过程变量定义,但是没有一个对我有用

oracle plsql procedures

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