小编app*_*hat的帖子

如何将$ scope传递给angularjs 1.5组件/指令

我试图在角1.5中使用新的.component()方法.目前我发现如何使用它的信息很少.棱角分明的文档也没有提到它.

我试图将范围或对象从范围传递到.component以在组件的模板部分中使用,但我可以传递的唯一两个参数是$ element和$ attrs.我试过通过html中的属性传递对象,但我得到的只是对象名称的字符串.

我试过将它设置为以这些方式表示为变量

my-attr="item.myVal"
my-attr="{item.myVal}"
my-attr="{{item.myVal}}"
Run Code Online (Sandbox Code Playgroud)

每次我仍然得到字符串文字,而不是变量的值.如何将其设置为变量?

我尝试通过新绑定捕获数据:{}但我的模板:{}然后无法访问变量.

这是我现在的组件:

export var ItemListAction = {
    controller: 'PanelCtrl as itemCtrl',
    isolate: false,
    template: ($element: any, $attrs: any): any=> {
        var myVal: any = $attrs.myAttr; // returns "item.myVal"
        var listAction: string = compileListAction();
        return listAction;
    }
};
Run Code Online (Sandbox Code Playgroud)

这是我在HTML中的组件

<panel-item-list-action my-attr="item.myVal"></panel-item-list-action>
Run Code Online (Sandbox Code Playgroud)

这是组件的角度模块声明:angular.module('Panel', []).component('panelItemListAction', ItemListAction)

javascript angularjs angularjs-directive

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

babel 编译 es6 类,函数未定义

Babel 正在编译我的 es6 类,因此构造函数本身就是一个函数,类中的方法成为类声明。

这导致构造函数中的任何函数调用都未定义。

前:

class myClass {
    constructor() {
        myMethod();
    } // END constructor

    myMethod() {
        console.log("myMethod");
    } 
} // END myClass
Run Code Online (Sandbox Code Playgroud)

后:

var myClass = function () {
    function myClass() {
        _classCallCheck(this, myClass);
        myMethod(); // undefined function
    } // END constructor

    _createClass(myClass, [{
        key: 'myMethod',
        value: function myMethod() { 
            console.log("myMethod");
        } // END myMethod()
    }]);

    return myClass;
}(); // END myClass

exports.default = myClass;
Run Code Online (Sandbox Code Playgroud)

感谢这方面的任何帮助

javascript oop methods constructor ecmascript-6

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

php curl_setopt() 返回末尾带有“1”的 json 数据

所以我有一个curl_setopt,它可以用php很好地提取json文件。它执行此操作时有一个例外,即在 json 数据末尾的最后一个“}”之后有一个一 (1)。如果不使用curl,这个“1”在url 调用中并不明显。所以看来我的curl_setopt配置不正确。有人可以帮忙吗?

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $domain.$args);
curl_setopt($ch, CURLOPT_HEADER, false);
$json = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

$ domain.$args工作正常,因为我可以回显此变量设置并通过浏览器手动生成 json,无需 1。

感谢您的帮助

/ ** 根据建议进行编辑 ** /

我尝试了下面的添加建议:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

这最终改变了整个 json 输出,而不仅仅是在响应末尾添加“1”:

"{\"data\":[{\"Name\":\"A3\",\"SeoName\":\"a3\"},{\"Name\":\"A4\",\"SeoName\":\"a4\"},{\"Name\":\"A5\",\"SeoName\":\"a5\"},{\"Name\":\"A6\",\"SeoName\":\"a6\"},{\"Name\":\"A7\",\"SeoName\":\"a7\"},{\"Name\":\"A8\",\"SeoName\":\"a8\"},{\"Name\":\"allroad\",\"SeoName\":\"allroad\"},{\"Name\":\"Q5\",\"SeoName\":\"q5\"},{\"Name\":\"Q5 hybrid\",\"SeoName\":\"q5-hybrid\"},{\"Name\":\"Q7\",\"SeoName\":\"q7\"},{\"Name\":\"R8\",\"SeoName\":\"r8\"},{\"Name\":\"RS 5\",\"SeoName\":\"rs-5\"},{\"Name\":\"RS 7\",\"SeoName\":\"rs-7\"},{\"Name\":\"S4\",\"SeoName\":\"s4\"},{\"Name\":\"S5\",\"SeoName\":\"s5\"},{\"Name\":\"S6\",\"SeoName\":\"s6\"},{\"Name\":\"S7\",\"SeoName\":\"s7\"},{\"Name\":\"S8\",\"SeoName\":\"s8\"},{\"Name\":\"SQ5\",\"SeoName\":\"sq5\"},{\"Name\":\"TT\",\"SeoName\":\"tt\"},{\"Name\":\"TTS\",\"SeoName\":\"tts\"}]}"
Run Code Online (Sandbox Code Playgroud)

php json curl

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