标签: controlleras

ngrepeat alias as和controller as

当我尝试使用ngRepeat别名作为语法控制器作为语法时,我收到此错误https://code.angularjs.org/1.3.16/docs/error/ngRepeat/badident:

<li ng-repeat="item in vm.items | filter:vm.searchString as vm.collections">{{item}}</li>
Run Code Online (Sandbox Code Playgroud)

这是不允许的,或者我做错了什么?

angularjs ng-repeat controlleras

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

AngularJS 1.4:如何使用bindToController和controllerAs语法创建双向绑定

好的,这真的让我烦恼.我有一个带隔离范围的指令,使用controllerAs语法和bindToController:

function exampleDirectiveFactory() {
    var bindings = {
        foo: '=',
        bar: '@'
    }

    return {
        bindToController: true,
        controller      : 'ExampleController',
        controllerAs    : 'vm',
        scope           : bindings,
        template        : 'foo = {{ vm.foo }}<br />bar = {{ vm.bar }}'
    };
}
Run Code Online (Sandbox Code Playgroud)

假设有这样的用法:

<example foo="FOO" bar="BAR"></example>
Run Code Online (Sandbox Code Playgroud)

...我希望值vm.foo的值与foo属性的值双向绑定.相反,它是undefined.

vm.bar等于barHTML元素的属性值,我期望.

当我尝试更改vm.bar使用过滤器的值时,不会继续更改.

当我将过滤后的值存储vm.bar到一个新变量时vm.baz,它按预期工作.

这是一个小提琴

所以我的问题有两个部分:

A)为什么vm.foo使用时未定义的值'='

B)为什么我不能改变vm.bar控制器范围内的值,即使该改变没有传播到HTML元素属性(它不应该,因为我正在使用'@')?

javascript angularjs angularjs-directive controlleras

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

角度控制器作为父控制器中的监视变量

我如何看一个绑定到父控制器的变量?

function config($stateProvider) {
    $stateProvider
        .state('home', {
            url: '/',
            templateUrl: 'home.html',
            controller: 'HomeController',
            controllerAs: 'vm'
        })

        .state('home.child', {
            url: '/child',
            templateUrl: 'child.html',
            controller: 'ChildController',
            controllerAs: 'vm'
        });
}

function HomeController($scope) {
    this.title = 'Some Title';
}

function ChildController($scope) {
    var vm = this;
    $scope.$watch('vm.title', function(current, original) {
        $log.info('title was %s', original);
        $log.info('title is now %s', current);
    });

}
Run Code Online (Sandbox Code Playgroud)

watch-Function无法识别父标题的更改.

谢谢!:)

parent watch angularjs controlleras

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