Javascript Angularjs控制器和模板封装与Angularjs组件
我有一个名为homeInside的状态,它是我的Javascript Angularjs控制器和模板封装与Angularjs组件,javascript,angularjs,angular,Javascript,Angularjs,Angular,我有一个名为homeInside的状态,它是我的angularjs应用程序中的控制器和模板(我正在使用路由)。这里有很多元素,还有一个带有链接到doSomething的ng click按钮。我有另一个州叫“屋外”。这与第一个任务完全相似,但doSomething可以完成另一个任务 我不想复制任何东西。如何使用一个控制器和模板来实现这一点?这是否是Angular2组件在此类场景中发挥作用的原因(使用其构造函数) 任何想法都将不胜感激 编辑: 在第一种情况下: $scope.doSomething
angularjs
应用程序中的控制器和模板(我正在使用路由)。这里有很多元素,还有一个带有链接到doSomething的ng click按钮。我有另一个州叫“屋外”。这与第一个任务完全相似,但doSomething可以完成另一个任务
我不想复制任何东西。如何使用一个控制器和模板来实现这一点?这是否是Angular2
组件在此类场景中发挥作用的原因(使用其构造函数)
任何想法都将不胜感激
编辑:
在第一种情况下:
$scope.doSomething = function() {
AuthService.logout();
}
在第二个例子中:
$scope.doSomething = function() {
$state.go('dashboard');
}
所有其他部件都完全相同。在Angular v1.x中,您必须制造工厂,并将其注入到您想要制造相同部件的控制器中。
如果你需要工厂的例子,我给你 我建议创建一个自定义指令并传入一个doSomething函数 创建指令时,使用“&”符号将函数设置为指令参数 下面是一个很好的例子来解释这个用法
请参见“添加”部分,其中“添加”是正在传递的函数您能告诉我们您的代码吗?你想知道AngularJS或Angular2的答案吗?听起来像是一个获取函数的指令injected@Raulucco是的,但我们不确定,对吗?我们需要一个snnipet。@Raphaelparerira是的,我们需要一些示例代码,我只是想让他想想他们。谢谢你的回复。请检查编辑部分。谢谢。但我认为这与工厂或服务无关。请参见编辑部分。看来只有
指令
才是唯一的方法。但是仍然需要复制模板。无论如何,谢谢。不要复制模板使用transaclude,这样您就可以插入模板的更改部分并封装模板的常见内容