相关疑难解决方法(0)

Angularjs"控制器为"或"$ scope"

我想知道angularjs中"Controller as"或"$ scope"语法之间的主要区别是什么.

  1. 他们是否有任何性能影响,如果是,哪种语法更可取.
  2. "Controller as"语法肯定会提高代码的可读性,因为Knockout.js和其他JavaScript框架遵循相同的语法.
  3. $ scope将提供范围继承,有时会给我们带来奇怪的行为

    <div ng-controller="firstController">
     ParentController: <input type="text" ng-model="parent"/>
      <div ng-controller="secondController">
        ChildController: <input type="text" ng-model="parent" />
      </div>
    </div>
    
    app.controller('ParentController', function ($scope) {
      $scope.parent = "parentScope";
    }).controller('ChildController', function ($scope) { /*empty*/ }); 
    
    Run Code Online (Sandbox Code Playgroud)

    a)最初,子将获取父属性,并且当我们更新父子时它将显示'parentScope'也将更新.但是如果我们现在更改了子属性,则更新父级不会修改子级,因为它有自己的scope属性.

    b)如果我使用控制器作为语法更改子,也更新父.

javascript angularjs

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

bindToController中带有require的bindToController

如果我的指令使用" require"来使用不同的指令,比如说ngModel,并使用隔离范围我怎样才能使用bindToController语法并仍然能够ngModelController从控制器访问injectables()?

angularjs angularjs-directive angularjs-scope

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