Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJs指令-需要在templateUrl中获取属性值_Javascript_Angularjs_Angularjs Directive - Fatal编程技术网

Javascript AngularJs指令-需要在templateUrl中获取属性值

Javascript AngularJs指令-需要在templateUrl中获取属性值,javascript,angularjs,angularjs-directive,Javascript,Angularjs,Angularjs Directive,我需要获取templateUrl的append指令属性值。 我尝试了几个选项,但是templateUrl中不支持$observe。 因此,我在下面进行了尝试,并尝试将“devicePath”值获取到模板URL。 什么都没用。 这是我的例子 <me-direct device-path="{{contentUrl}}" tmp-url="{{appTemplateUrl}}"></me-direct> 无论如何,这是不起作用的,因为scope.url无法从templa

我需要获取templateUrl的append指令属性值。 我尝试了几个选项,但是templateUrl中不支持
$observe
。 因此,我在下面进行了尝试,并尝试将
“devicePath”
值获取到
模板URL
。 什么都没用。 这是我的例子

<me-direct  device-path="{{contentUrl}}"  tmp-url="{{appTemplateUrl}}"></me-direct>
无论如何,这是不起作用的,因为
scope.url
无法从
templateUrl
访问。有什么想法吗

编辑

但如果我像这样发送属性,一切都会工作

<me-direct  device-path="some/common/url/to/view.html"  tmp-url="{{appTemplateUrl}}"></me-direct>

试试这个:

angular.module('meDevices').directive('medirect',medirect);

    function medirect(){
        return{
            restrict: 'E',
            scope: {
               base: '@baseUrl' 
            },
            templateUrl: function(element, attrs) {
               return "http://example.com/"+attrs['device-path']+attrs['tmp-url'];
            }
        }
    }
用途:



这是什么
templateUrl:scope.url
?我试图将scope.url值分配给templateUrl。templateUrl在哪里使用?你能在独立的作用域中找到它吗?templateUrl是一个用于分配模板路径的指令属性。你能检查UI contentUrl和appTemplateUrl中的那些变量吗?它应该可以工作…baseUrl是什么?它只是作用域参数,但我们不能在模板修改中使用作用域绑定变量…这是否适用于您现在已检查变量是否有值或不让我们使用。
angular.module('meDevices').directive('medirect',medirect);

    function medirect(){
        return{
            restrict: 'E',
            scope: {
               base: '@baseUrl' 
            },
            templateUrl: function(element, attrs) {
               return "http://example.com/"+attrs['device-path']+attrs['tmp-url'];
            }
        }
    }
 <me-direct  device-path="{{contentUrl}}" tmp-url="{{appTemplateUrl}}"></me-direct>