当地人的角度$ eval - 不太合适

时间:2016-03-21 11:56:09

标签: angularjs angularjs-directive eval

我试图在指令的链接函数中运行$ eval命令,但它不能正常工作。我试图运行的是:

function (scope, element, attr) {
    ...
    var date = ....... // string that can be parsed to date
    scope.$eval(attr.myModel + "=new Date(d)", {d: date});
}

"日期"是一个计算并保存为字符串的字符串(可以很容易地解析为Date对象)。尝试运行" new Date(d)"时代码失败。 " attr.myModel"已成功解析范围,但" d"在我传递给$ eval的对象上没有解析var。

(使用Angular 1.5)

Angular的错误消息是:

Syntax Error: Token 'Date' is an unexpected token at column 36 of the expression [formCtrl.selections.earlyStart=new Date(d)] starting at [Date(d].

我尝试将本地对象传递给Date构造函数,但它没有太多改变

谢谢!

1 个答案:

答案 0 :(得分:0)

管理以解决它:

scope.$eval(attributes.myModel + "=d", {d: new Date(date)});