何时在Angular.js中使用$ parse

Pra*_*een 4 javascript angularjs

$parse角度js 中的提供者如何工作,在哪种情况下它将是有用的,在哪种情况下分配fn可用.

pix*_*its 5

$ parse对于计算字符串并返回可以操作模型或调用函数的函数非常有用.字符串中的任何变量都是从传递给函数的上下文中解析的.

获取和设置模型的属性

$ parse对于将角度表达式编译为可以获取/设置模型的函数非常有用.

例如,如果要获取/设置user.name,可以使用$parse('user.name'):

消气

var context = { user: { name: 'john'}};
var getter = $parse('user.name');
var name = getter(context);
console.log(name); // outputs 'john'
Run Code Online (Sandbox Code Playgroud)

二传手

var context = { user: { name: 'john'}};
var setter = $parse('user.name').assign;
setter(context, 'tom');
console.log(context.user.name); //outputs tom
Run Code Online (Sandbox Code Playgroud)

$ scope也可以作为上下文:

$scope.user = { name: 'john' };
var getter = $parse('user.name');
var name = getter($scope);
console.log(name); // outputs 'john'
Run Code Online (Sandbox Code Playgroud)

调用函数

$ parse也可用于将角度表达式编译为可调用函数.

例如,如果要调用一个名为的函数helloWorld():

var context = { 
      helloWorld: function(name) { 
           alert(name); 
      }, 
      user: {
           name:'john'
      }
};
var fn = $parse('helloWorld(user.name)');
fn(context); // alerts 'john'
Run Code Online (Sandbox Code Playgroud)