带有打字稿的嵌套角度指令

Posted

技术标签:

【中文标题】带有打字稿的嵌套角度指令【英文标题】:Nested angular directives with typescript 【发布时间】:2013-12-28 07:18:21 【问题描述】:

是否可以使用带有嵌套角度指令的 Typescript?

http://jsfiddle.net/mrajcok/StXFK/

<div ng-controller="MyCtrl">
  <div screen>
    <div component>
        <div widget>
            <button ng-click="widgetIt()">Woo Hoo</button>
        </div>
    </div>
</div>
</div>

下面的 javascript 看起来像打字稿代码吗?

var myApp = angular.module('myApp',[])

.directive('screen', function() 
    return 
        scope: true,
        controller: function() 
            this.doSomethingScreeny = function() 
                alert("screeny!");
            
        
    
)

.directive('component', function() 
    return 
        scope: true,
        require: '^screen',
        controller: function($scope) 
            this.componentFunction = function() 
                $scope.screenCtrl.doSomethingScreeny();
            
        ,
        link: function(scope, element, attrs, screenCtrl) 
            scope.screenCtrl = screenCtrl
        
    
)

.directive('widget', function() 
    return 
        scope: true,
        require: "^component",
        link: function(scope, element, attrs, componentCtrl) 
            scope.widgetIt = function() 
                componentCtrl.componentFunction();
            ;
        
    
)


//myApp.directive('myDirective', function() );
//myApp.factory('myService', function() );

function MyCtrl($scope) 
    $scope.name = 'Superhero';

【问题讨论】:

【参考方案1】:

该代码应该按原样工作。但是,作为一种更好的做法,如果控制器变得太大,您可以使用 TypeScript 类http://www.youtube.com/watch?v=WdtVn_8K17E&hd=1

【讨论】:

是的,它有效。你认为对指令也使用打字稿代码不是更好吗?

以上是关于带有打字稿的嵌套角度指令的主要内容,如果未能解决你的问题,请参考以下文章

带有打字稿的 Angular 5 websocket 示例

观察更改打字稿的firebase数据库

在打字稿中创建指令以显示角度加载进度

正则表达式测试作为属性的指令实现错误 - 验证(打字稿+角度)

传递给角度指令的链接函数的实例元素参数是啥对象类型?

如何使用带有角度依赖注入的打字稿继承